fail.js 657 B

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use strict';
  2. var falafel = require('falafel');
  3. var test = require('../');
  4. test('array', function (t) {
  5. t.plan(5);
  6. var src = '(' + function () {
  7. var xs = [ 1, 2, [ 3, 4 ] ];
  8. var ys = [ 5, 6 ];
  9. g([ xs, ys ]);
  10. } + ')()';
  11. var output = falafel(src, function (node) {
  12. if (node.type === 'ArrayExpression') {
  13. node.update('fn(' + node.source() + ')');
  14. }
  15. });
  16. var arrays = [
  17. [ 3, 4 ],
  18. [ 1, 2, [ 3, 4 ] ],
  19. [ 5, 6 ],
  20. [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ]
  21. ];
  22. Function(['fn', 'g'], output)(
  23. function (xs) {
  24. t.same(arrays.shift(), xs);
  25. return xs;
  26. },
  27. function (xs) {
  28. t.same(xs, [ [ 1, 2, [ 3, 4444 ] ], [ 5, 6 ] ]);
  29. }
  30. );
  31. });