@@ -8,13 +8,26 @@ const defaultStartMessage = 'Expected values to be strictly deep-equal:\n' +
88 '\n' ;
99
1010test ( 'Handle error causes' , ( ) => {
11+ assert . deepStrictEqual ( new Error ( 'a' , { cause : new Error ( 'x' ) } ) , new Error ( 'a' , { cause : new Error ( 'x' ) } ) ) ;
12+ assert . deepStrictEqual (
13+ new Error ( 'a' , { cause : new RangeError ( 'x' ) } ) ,
14+ new Error ( 'a' , { cause : new RangeError ( 'x' ) } ) ,
15+ ) ;
16+
1117 assert . throws ( ( ) => {
1218 assert . deepStrictEqual ( new Error ( 'a' , { cause : new Error ( 'x' ) } ) , new Error ( 'a' , { cause : new Error ( 'y' ) } ) ) ;
1319 } , { message : defaultStartMessage + ' [Error: a] {\n' +
1420 '+ [cause]: [Error: x]\n' +
1521 '- [cause]: [Error: y]\n' +
1622 ' }\n' } ) ;
1723
24+ assert . throws ( ( ) => {
25+ assert . deepStrictEqual ( new Error ( 'a' , { cause : new Error ( 'x' ) } ) , new Error ( 'a' , { cause : new TypeError ( 'x' ) } ) ) ;
26+ } , { message : defaultStartMessage + ' [Error: a] {\n' +
27+ '+ [cause]: [Error: x]\n' +
28+ '- [cause]: [TypeError: x]\n' +
29+ ' }\n' } ) ;
30+
1831 assert . throws ( ( ) => {
1932 assert . deepStrictEqual ( new Error ( 'a' ) , new Error ( 'a' , { cause : new Error ( 'y' ) } ) ) ;
2033 } , { message : defaultStartMessage + '+ [Error: a]\n' +
@@ -37,3 +50,33 @@ test('Handle error causes', () => {
3750 new Error ( 'a' , { cause : { prop : 'a different value' } } )
3851 ) ;
3952} ) ;
53+
54+ test ( 'Handle undefined causes' , ( ) => {
55+ assert . deepStrictEqual ( new Error ( 'a' , { cause : undefined } ) , new Error ( 'a' , { cause : undefined } ) ) ;
56+
57+ assert . notDeepStrictEqual ( new Error ( 'a' , { cause : 'undefined' } ) , new Error ( 'a' , { cause : undefined } ) ) ;
58+ assert . notDeepStrictEqual ( new Error ( 'a' , { cause : undefined } ) , new Error ( 'a' ) ) ;
59+ assert . notDeepStrictEqual ( new Error ( 'a' ) , new Error ( 'a' , { cause : undefined } ) ) ;
60+
61+ assert . throws ( ( ) => {
62+ assert . deepStrictEqual ( new Error ( 'a' ) , new Error ( 'a' , { cause : undefined } ) ) ;
63+ } , { message : defaultStartMessage +
64+ '+ [Error: a]\n' +
65+ '- [Error: a] {\n' +
66+ '- [cause]: undefined\n' +
67+ '- }\n' } ) ;
68+
69+ assert . throws ( ( ) => {
70+ assert . deepStrictEqual ( new Error ( 'a' , { cause : undefined } ) , new Error ( 'a' ) ) ;
71+ } , { message : defaultStartMessage +
72+ '+ [Error: a] {\n' +
73+ '+ [cause]: undefined\n' +
74+ '+ }\n' +
75+ '- [Error: a]\n' } ) ;
76+ assert . throws ( ( ) => {
77+ assert . deepStrictEqual ( new Error ( 'a' , { cause : undefined } ) , new Error ( 'a' , { cause : 'undefined' } ) ) ;
78+ } , { message : defaultStartMessage + ' [Error: a] {\n' +
79+ '+ [cause]: undefined\n' +
80+ '- [cause]: \'undefined\'\n' +
81+ ' }\n' } ) ;
82+ } ) ;
0 commit comments