ok.js 643 B

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