Front end of the Slack clone application.

for.js 838B

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