| var falafel = require('falafel'); |
| var test = require('../'); |
| |
| test('array', function (t) { |
| t.plan(8); |
| |
| var src = '(' + function () { |
| var xs = [ 1, 2, [ 3, 4 ] ]; |
| var ys = [ 5, 6 ]; |
| g([ xs, ys ]); |
| } + ')()'; |
| |
| var output = falafel(src, function (node) { |
| if (node.type === 'ArrayExpression') { |
| node.update('fn(' + node.source() + ')'); |
| } |
| }); |
| |
| var arrays = [ |
| [ 3, 4 ], |
| [ 1, 2, [ 3, 4 ] ], |
| [ 5, 6 ], |
| [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ], |
| ]; |
| |
| Function(['fn','g'], output)( |
| function (xs) { |
| t.same(arrays.shift(), xs); |
| return xs; |
| }, |
| function (xs) { |
| t.same(xs, [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ]); |
| } |
| ); |
| }); |