UNPKG

1.81 kBJavaScriptView Raw
1var falafel = require('falafel');
2var tape = require('../');
3var tap = require('tap');
4var concat = require('concat-stream');
5
6tap.test('array test', function (tt) {
7 tt.plan(1);
8
9 var test = tape.createHarness({ exit : false });
10 var tc = function (rows) {
11 tt.same(rows.toString('utf8'), [
12 'TAP version 13',
13 '# array',
14 'ok 1 should be equivalent',
15 'ok 2 should be equivalent',
16 'ok 3 should be equivalent',
17 'ok 4 should be equivalent',
18 'not ok 5 plan != count',
19 ' ---',
20 ' operator: fail',
21 ' expected: 3',
22 ' actual: 4',
23 ' ...',
24 'ok 6 should be equivalent',
25 '',
26 '1..6',
27 '# tests 6',
28 '# pass 5',
29 '# fail 1'
30 ].join('\n') + '\n');
31 };
32
33 test.createStream().pipe(concat(tc));
34
35 test('array', function (t) {
36 t.plan(3);
37
38 var src = '(' + function () {
39 var xs = [ 1, 2, [ 3, 4 ] ];
40 var ys = [ 5, 6 ];
41 g([ xs, ys ]);
42 } + ')()';
43
44 var output = falafel(src, function (node) {
45 if (node.type === 'ArrayExpression') {
46 node.update('fn(' + node.source() + ')');
47 }
48 });
49
50 var arrays = [
51 [ 3, 4 ],
52 [ 1, 2, [ 3, 4 ] ],
53 [ 5, 6 ],
54 [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ],
55 ];
56
57 Function(['fn','g'], output)(
58 function (xs) {
59 t.same(arrays.shift(), xs);
60 return xs;
61 },
62 function (xs) {
63 t.same(xs, [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ]);
64 }
65 );
66 });
67});