UNPKG

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