fail.js 628 B

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use strict';
  2. var test = require('../../');
  3. var falafel = require('falafel');
  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. });