mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
31 lines
838 B
JavaScript
31 lines
838 B
JavaScript
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);
|
|
});
|