1 | var falafel = require('../');
|
2 | var test = require('tape');
|
3 |
|
4 | test('for loop', function (t) {
|
5 | t.plan(7);
|
6 |
|
7 | var src = '(' + function () {
|
8 | var sum = 0;
|
9 | for (var i = 0; i < 10; i++)
|
10 | sum += i;
|
11 | if (true)
|
12 | for (var i = 0; i < 10; i++)
|
13 | sum += i;
|
14 | return sum;
|
15 | } + ')()';
|
16 |
|
17 | var output = falafel(src, function (node) {
|
18 | if (node.type === 'ForStatement') {
|
19 | t.equal(node.update.source(), 'i++');
|
20 | t.equal(node.update.type, "UpdateExpression");
|
21 | node.update.update('i+=2');
|
22 | }
|
23 | if (node.type === 'UpdateExpression') {
|
24 | t.equal(node.source(), 'i++');
|
25 | }
|
26 | });
|
27 |
|
28 | var res = Function('return ' + output)();
|
29 | t.equal(res, 2 + 4 + 6 + 8 + 2 + 4 + 6 + 8);
|
30 | });
|