Skip to content

Commit 6d2d288

Browse files
author
Michael Hayes
committed
add more tests
1 parent a2dfa7d commit 6d2d288

6 files changed

+115
-50
lines changed

lib/results.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ function encodeResult (res, count) {
148148
var ac = inspect(res.actual);
149149

150150
if (Math.max(ex.length, ac.length) > 65 || invalidYaml(ex) || invalidYaml(ac)) {
151-
output += inner + 'expected: |\n' + inner + ' ' + ex + '\n';
152-
output += inner + 'actual: |\n' + inner + ' ' + ac + '\n';
151+
output += inner + 'expected: |-\n' + inner + ' ' + ex + '\n';
152+
output += inner + 'actual: |-\n' + inner + ' ' + ac + '\n';
153153
}
154154
else {
155155
output += inner + 'expected: ' + ex + '\n';
@@ -161,7 +161,7 @@ function encodeResult (res, count) {
161161
}
162162
if (res.operator === 'error' && res.actual && res.actual.stack) {
163163
var lines = String(res.actual.stack).split('\n');
164-
output += inner + 'stack: |\n';
164+
output += inner + 'stack: |-\n';
165165
for (var i = 0; i < lines.length; i++) {
166166
output += inner + ' ' + lines[i] + '\n';
167167
}

package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
"through": "~2.3.4"
1919
},
2020
"devDependencies": {
21-
"tap": "~0.7.1",
21+
"concat-stream": "~1.4.1",
2222
"falafel": "~1.0.1",
23-
"concat-stream": "~1.4.1"
23+
"tap": "~0.7.1",
24+
"tap-parser": "^1.1.6"
2425
},
2526
"scripts": {
2627
"test": "tap test/*.js"

test/circular-things.js

+26-33
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,36 @@
11
var tape = require('../');
22
var tap = require('tap');
3+
var concat = require('concat-stream');
34

45
tap.test('circular test', function (assert) {
56
var test = tape.createHarness({ exit : false });
6-
var tc = tap.createConsumer();
7+
assert.plan(1);
78

8-
var rows = [];
9-
tc.on('data', function (r) { rows.push(r) });
10-
tc.on('end', function () {
11-
// console.log("rs", rows)
12-
13-
// console.log("deepEqual?")
14-
15-
assert.same(rows, [
16-
"TAP version 13"
17-
, "circular"
18-
, { id: 1
19-
, ok: false
20-
, name: " should be equal"
21-
, operator: "equal"
22-
, expected: "{}"
23-
, actual: '{ circular: [Circular] }'
24-
}
25-
, "tests 1"
26-
, "pass 0"
27-
, "fail 1"
28-
])
29-
assert.end()
30-
})
31-
32-
// tt.equal(10, 10)
33-
// tt.end()
34-
35-
test.createStream().pipe(tc);
9+
test.createStream().pipe(concat(function (body) {
10+
assert.equal(
11+
body.toString('utf8'),
12+
'TAP version 13\n'
13+
+ '# circular\n'
14+
+ 'not ok 1 should be equal\n'
15+
+ ' ---\n'
16+
+ ' operator: equal\n'
17+
+ ' expected: |-\n'
18+
+ ' {}\n'
19+
+ ' actual: |-\n'
20+
+ ' { circular: [Circular] }\n'
21+
+ ' ...\n'
22+
+ '\n'
23+
+ '1..1\n'
24+
+ '# tests 1\n'
25+
+ '# pass 0\n'
26+
+ '# fail 1\n'
27+
);
28+
}));
3629

3730
test("circular", function (t) {
38-
t.plan(1)
39-
var circular = {}
40-
circular.circular = circular
41-
t.equal(circular, {})
31+
t.plan(1);
32+
var circular = {};
33+
circular.circular = circular;
34+
t.equal(circular, {});
4235
})
4336
})

test/deep-equal-failure.js

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
var tape = require('../');
2+
var tap = require('tap');
3+
var concat = require('concat-stream');
4+
var tapParser = require('tap-parser')
5+
6+
tap.test('deep equal failure', function (assert) {
7+
var test = tape.createHarness({ exit : false });
8+
var stream = test.createStream();
9+
var parser = tapParser()
10+
assert.plan(2);
11+
12+
stream.pipe(parser)
13+
stream.pipe(concat(function (body) {
14+
assert.equal(
15+
body.toString('utf8'),
16+
'TAP version 13\n'
17+
+ '# deep equal\n'
18+
+ 'not ok 1 should be equal\n'
19+
+ ' ---\n'
20+
+ ' operator: equal\n'
21+
+ ' expected: |-\n'
22+
+ ' { b: 2 }\n'
23+
+ ' actual: |-\n'
24+
+ ' { a: 1 }\n'
25+
+ ' ...\n'
26+
+ '\n'
27+
+ '1..1\n'
28+
+ '# tests 1\n'
29+
+ '# pass 0\n'
30+
+ '# fail 1\n'
31+
);
32+
}));
33+
34+
parser.once('assert', function (data) {
35+
assert.deepEqual(data, {
36+
ok: false,
37+
id: 1,
38+
name: 'should be equal',
39+
diag: {
40+
operator: 'equal',
41+
expected: '{ b: 2 }',
42+
actual: '{ a: 1 }'
43+
}
44+
})
45+
})
46+
47+
test("deep equal", function (t) {
48+
t.plan(1);
49+
t.equal({a: 1}, {b: 2});
50+
})
51+
})

test/stackTrace.js

+30-10
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,44 @@
11
var tape = require('../');
22
var tap = require('tap');
33
var concat = require('concat-stream');
4+
var tapParser = require('tap-parser');
45

5-
tap.test('array test', function (tt) {
6-
tt.plan(1);
6+
tap.test('preserves stack trace with newlines', function (tt) {
7+
tt.plan(2);
78

89
var test = tape.createHarness();
9-
test.createStream().pipe(concat(function (body) {
10+
var stream = test.createStream();
11+
var parser = stream.pipe(tapParser());
12+
var stackTrace = 'foo\n bar'
13+
14+
parser.once('assert', function (data) {
15+
tt.deepEqual(data, {
16+
ok: false,
17+
id: 1,
18+
name: "Error: Preserve stack",
19+
diag: {
20+
stack: stackTrace,
21+
operator: 'error',
22+
expected: 'undefined',
23+
actual: '[Error: Preserve stack]'
24+
}
25+
});
26+
});
27+
28+
stream.pipe(concat(function (body) {
29+
var body = body.toString('utf8')
1030
tt.equal(
11-
body.toString('utf8'),
31+
body,
1232
'TAP version 13\n'
13-
+ '# undef\n'
33+
+ '# multiline stack trace\n'
1434
+ 'not ok 1 Error: Preserve stack\n'
1535
+ ' ---\n'
1636
+ ' operator: error\n'
17-
+ ' expected: |\n'
37+
+ ' expected: |-\n'
1838
+ ' undefined\n'
19-
+ ' actual: |\n'
39+
+ ' actual: |-\n'
2040
+ ' [Error: Preserve stack]\n'
21-
+ ' stack: |\n'
41+
+ ' stack: |-\n'
2242
+ ' foo\n'
2343
+ ' bar\n'
2444
+ ' ...\n'
@@ -30,10 +50,10 @@ tap.test('array test', function (tt) {
3050
);
3151
}));
3252

33-
test('undef', function (t) {
53+
test('multiline stack trace', function (t) {
3454
t.plan(1);
3555
var err = new Error('Preserve stack')
36-
err.stack = 'foo\n bar'
56+
err.stack = stackTrace
3757
t.error(err);
3858
});
3959
});

test/undef.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ tap.test('array test', function (tt) {
1414
+ 'not ok 1 should be equivalent\n'
1515
+ ' ---\n'
1616
+ ' operator: deepEqual\n'
17-
+ ' expected: |\n'
17+
+ ' expected: |-\n'
1818
+ ' { beep: undefined }\n'
19-
+ ' actual: |\n'
19+
+ ' actual: |-\n'
2020
+ ' {}\n'
2121
+ ' ...\n'
2222
+ '\n'

0 commit comments

Comments
 (0)