diff --git a/test/error.js b/test/error.js index 18dcb0bd..94c96ed9 100644 --- a/test/error.js +++ b/test/error.js @@ -20,7 +20,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' [Error: this is a message]', + ' ' + ('cause' in Error.prototype ? '{ [Error: this is a message] [cause]: undefined }' : '[Error: this is a message]'), ' at: Test. ($TEST/error.js:$LINE:$COL)', ' stack: |-', ' Error: this is a message', diff --git a/test/stackTrace.js b/test/stackTrace.js index 8ae0ee6b..6061f9ca 100644 --- a/test/stackTrace.js +++ b/test/stackTrace.js @@ -14,6 +14,8 @@ tap.test('preserves stack trace with newlines', function (tt) { var parser = stream.pipe(tapParser()); var stackTrace = 'foo\n bar'; + var inspected = 'cause' in Error.prototype ? '{ [Error: Preserve stack] [cause]: undefined }' : '[Error: Preserve stack]'; + parser.once('assert', function (data) { delete data.diag.at; tt.deepEqual(data, { @@ -24,7 +26,7 @@ tap.test('preserves stack trace with newlines', function (tt) { stack: stackTrace, operator: 'error', expected: 'undefined', - actual: '[Error: Preserve stack]' + actual: inspected } }); }); @@ -41,7 +43,7 @@ tap.test('preserves stack trace with newlines', function (tt) { + ' expected: |-\n' + ' undefined\n' + ' actual: |-\n' - + ' [Error: Preserve stack]\n' + + ' ' + inspected + '\n' + ' stack: |-\n' + ' foo\n' + ' bar\n' @@ -57,7 +59,7 @@ tap.test('preserves stack trace with newlines', function (tt) { stack: stackTrace, operator: 'error', expected: 'undefined', - actual: '[Error: Preserve stack]' + actual: inspected }); })); diff --git a/test/throws.js b/test/throws.js index 77d92cb5..a2daf100 100644 --- a/test/throws.js +++ b/test/throws.js @@ -26,6 +26,8 @@ var thrower = function () { throw messageGetterError; }; tap.test('failures', function (tt) { tt.plan(1); + var maybeCause = 'cause' in Error.prototype ? '[cause]: undefined, ' : ''; + var test = tape.createHarness(); test.createStream().pipe(concat(function (body) { tt.same(stripFullStack(body.toString('utf8')), [ @@ -37,7 +39,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage() + "] message: '" + getNonFunctionMessage() + "' }", + ' { [TypeError: ' + getNonFunctionMessage() + '] ' + maybeCause + "message: '" + getNonFunctionMessage() + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage(undefined)), @@ -51,7 +53,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage(null) + "] message: '" + getNonFunctionMessage(null) + "' }", + ' { [TypeError: ' + getNonFunctionMessage(null) + '] ' + maybeCause + "message: '" + getNonFunctionMessage(null) + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage(null)), @@ -65,7 +67,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage(true) + "] message: '" + getNonFunctionMessage(true) + "' }", + ' { [TypeError: ' + getNonFunctionMessage(true) + '] ' + maybeCause + "message: '" + getNonFunctionMessage(true) + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage(true)), @@ -79,7 +81,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage(false) + "] message: '" + getNonFunctionMessage(false) + "' }", + ' { [TypeError: ' + getNonFunctionMessage(false) + '] ' + maybeCause + "message: '" + getNonFunctionMessage(false) + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage(false)), @@ -93,7 +95,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage('abc') + "] message: '" + getNonFunctionMessage('abc') + "' }", + ' { [TypeError: ' + getNonFunctionMessage('abc') + '] ' + maybeCause + "message: '" + getNonFunctionMessage('abc') + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage('abc')), @@ -107,7 +109,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage(/a/g) + "] message: '" + getNonFunctionMessage(/a/g) + "' }", + ' { [TypeError: ' + getNonFunctionMessage(/a/g) + '] ' + maybeCause + "message: '" + getNonFunctionMessage(/a/g) + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage(/a/g)), @@ -121,7 +123,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage([]) + "] message: '" + getNonFunctionMessage([]) + "' }", + ' { [TypeError: ' + getNonFunctionMessage([]) + '] ' + maybeCause + "message: '" + getNonFunctionMessage([]) + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage([])), @@ -135,7 +137,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' undefined', ' actual: |-', - ' { [TypeError: ' + getNonFunctionMessage({}) + "] message: '" + getNonFunctionMessage({}) + "' }", + ' { [TypeError: ' + getNonFunctionMessage({}) + '] ' + maybeCause + "message: '" + getNonFunctionMessage({}) + "' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', String(' TypeError: ' + getNonFunctionMessage({})), @@ -169,7 +171,7 @@ tap.test('failures', function (tt) { ' expected: |-', ' [Function: TypeError]', ' actual: |-', - ' { [RangeError: actual!] ' + ('cause' in Error.prototype ? '[cause]: undefined, ' : '') + "message: 'actual!' }", + ' { [RangeError: actual!] ' + maybeCause + "message: 'actual!' }", ' at: Test. ($TEST/throws.js:$LINE:$COL)', ' stack: |-', ' RangeError: actual!',