12345678910111213141516171819202122232425262728293031 |
- var falafel = require('../');
- var test = require('tape');
-
- test('for loop', function (t) {
- t.plan(7);
-
- var src = '(function () {'
- + 'var sum = 0;'
- + 'for (var i = 0; i < 10; i++)'
- + 'sum += i;'
- + 'if (true)'
- + 'for (var i = 0; i < 10; i++)'
- + 'sum += i;'
- + 'return sum;'
- + '})()';
-
- var output = falafel(src, function (node) {
- if (node.type === 'ForStatement') {
- t.equal(node.update.source(), 'i++');
- t.equal(node.update.type, "UpdateExpression");
- node.update.update('i+=2');
- }
- if (node.type === 'UpdateExpression') {
- t.equal(node.source(), 'i++');
- }
- });
-
- var res = Function('return ' + output)();
- t.equal(res, 2 + 4 + 6 + 8 + 2 + 4 + 6 + 8);
- });
|