|
1 | 1 | var falafel = require('falafel'); |
2 | 2 | var tape = require('../'); |
3 | 3 | var tap = require('tap'); |
4 | | -var trim = require('string.prototype.trim'); |
| 4 | +var concat = require('concat-stream'); |
5 | 5 |
|
6 | 6 | tap.test('array test', function (tt) { |
7 | 7 | tt.plan(1); |
8 | | - |
| 8 | + |
9 | 9 | var test = tape.createHarness({ exit : false }); |
10 | | - var tc = tap.createConsumer(); |
11 | | - |
12 | | - var rows = []; |
13 | | - tc.on('data', function (r) { rows.push(r) }); |
14 | | - tc.on('end', function () { |
15 | | - var rs = rows.map(function (r) { |
16 | | - if (r && typeof r === 'object') { |
17 | | - return { id : r.id, ok : r.ok, name : trim(r.name) }; |
18 | | - } |
19 | | - else return r; |
20 | | - }); |
21 | | - tt.same(rs, [ |
| 10 | + var tc = function (rows) { |
| 11 | + tt.same(rows.toString('utf8'), [ |
22 | 12 | 'TAP version 13', |
23 | | - 'array', |
24 | | - { id: 1, ok: true, name: 'should be equivalent' }, |
25 | | - { id: 2, ok: true, name: 'should be equivalent' }, |
26 | | - { id: 3, ok: true, name: 'should be equivalent' }, |
27 | | - { id: 4, ok: true, name: 'should be equivalent' }, |
28 | | - { id: 5, ok: false, name: 'should be equivalent' }, |
29 | | - 'tests 5', |
30 | | - 'pass 4', |
31 | | - 'fail 1' |
32 | | - ]); |
33 | | - }); |
34 | | - |
35 | | - test.createStream().pipe(tc); |
36 | | - |
| 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 should be equivalent', |
| 19 | + ' ---', |
| 20 | + ' operator: deepEqual', |
| 21 | + ' expected: [ [ 1, 2, [ 3, 4444 ] ], [ 5, 6 ] ]', |
| 22 | + ' actual: [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ]', |
| 23 | + ' ...', |
| 24 | + '', |
| 25 | + '1..5', |
| 26 | + '# tests 5', |
| 27 | + '# pass 4', |
| 28 | + '# fail 1', |
| 29 | + '' |
| 30 | + ].join('\n')); |
| 31 | + }; |
| 32 | + |
| 33 | + test.createStream().pipe(concat(tc)); |
| 34 | + |
37 | 35 | test('array', function (t) { |
38 | 36 | t.plan(5); |
39 | | - |
| 37 | + |
40 | 38 | var src = '(' + function () { |
41 | 39 | var xs = [ 1, 2, [ 3, 4 ] ]; |
42 | 40 | var ys = [ 5, 6 ]; |
43 | 41 | g([ xs, ys ]); |
44 | 42 | } + ')()'; |
45 | | - |
| 43 | + |
46 | 44 | var output = falafel(src, function (node) { |
47 | 45 | if (node.type === 'ArrayExpression') { |
48 | 46 | node.update('fn(' + node.source() + ')'); |
49 | 47 | } |
50 | 48 | }); |
51 | | - |
| 49 | + |
52 | 50 | var arrays = [ |
53 | 51 | [ 3, 4 ], |
54 | 52 | [ 1, 2, [ 3, 4 ] ], |
55 | 53 | [ 5, 6 ], |
56 | 54 | [ [ 1, 2, [ 3, 4 ] ], [ 5, 6 ] ], |
57 | 55 | ]; |
58 | | - |
| 56 | + |
59 | 57 | Function(['fn','g'], output)( |
60 | 58 | function (xs) { |
61 | 59 | t.same(arrays.shift(), xs); |
|
0 commit comments