@@ -8,13 +8,26 @@ const defaultStartMessage = 'Expected values to be strictly deep-equal:\n' +
8
8
'\n' ;
9
9
10
10
test ( '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
+
11
17
assert . throws ( ( ) => {
12
18
assert . deepStrictEqual ( new Error ( 'a' , { cause : new Error ( 'x' ) } ) , new Error ( 'a' , { cause : new Error ( 'y' ) } ) ) ;
13
19
} , { message : defaultStartMessage + ' [Error: a] {\n' +
14
20
'+ [cause]: [Error: x]\n' +
15
21
'- [cause]: [Error: y]\n' +
16
22
' }\n' } ) ;
17
23
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
+
18
31
assert . throws ( ( ) => {
19
32
assert . deepStrictEqual ( new Error ( 'a' ) , new Error ( 'a' , { cause : new Error ( 'y' ) } ) ) ;
20
33
} , { message : defaultStartMessage + '+ [Error: a]\n' +
@@ -37,3 +50,33 @@ test('Handle error causes', () => {
37
50
new Error ( 'a' , { cause : { prop : 'a different value' } } )
38
51
) ;
39
52
} ) ;
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