2
2
3
3
describe ( '#base_error' , function ( ) {
4
4
var BaseError = require ( '../../src/base_error' ) ;
5
- var should = require ( 'should' ) ;
6
5
7
6
function checkKeys ( err ) {
8
7
err . should . have . keys ( [ 'meta' , 'message' , 'stack' ] ) ;
@@ -14,29 +13,35 @@ describe('#base_error', function() {
14
13
err . name . should . equal ( 'BaseError' ) ;
15
14
err . meta . should . be . an . Object ( ) ;
16
15
err . message . should . equal ( message ) ;
17
- err . stack . should . be . a . String ( ) ;
18
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
16
+ err . stack . should . be . a . String ( )
17
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
18
+ err . stack . indexOf ( 'BaseError: ' + message ) . should . equal ( 0 ) ;
19
19
checkKeys ( err ) ;
20
20
} ) ;
21
21
22
22
it ( 'new BaseError(message, param1, param2...paramN)' , function ( ) {
23
+ var targetMessage = 'hello! this a BaseError' ;
23
24
var err = new BaseError ( '%s! this a %s' , 'hello' , 'BaseError' ) ;
24
25
err . name . should . equal ( 'BaseError' ) ;
25
- err . message . should . equal ( 'hello! this a BaseError' ) ;
26
- err . stack . should . be . a . String ( ) ;
27
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
26
+ err . message . should . equal ( targetMessage ) ;
27
+ err . stack . should . be . a . String ( )
28
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
29
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
28
30
checkKeys ( err ) ;
29
31
} ) ;
30
32
31
33
it ( 'new BaseError(meta, message)' , function ( ) {
32
34
var message = 'this a BaseError' ;
33
35
var meta = { a : 1 } ;
34
36
var err = new BaseError ( meta , message ) ;
37
+ var targetMessage = message ;
38
+
35
39
err . name . should . equal ( 'BaseError' ) ;
36
40
err . meta . should . equal ( meta ) ;
37
41
err . message . should . equal ( message ) ;
38
- err . stack . should . be . a . String ( ) ;
39
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
42
+ err . stack . should . be . a . String ( )
43
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
44
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
40
45
checkKeys ( err ) ;
41
46
} ) ;
42
47
@@ -45,10 +50,13 @@ describe('#base_error', function() {
45
50
error . meta = { a : 1 } ;
46
51
var message = 'this a BaseError' ;
47
52
var err = new BaseError ( error , message ) ;
53
+ var targetMessage = message ;
54
+
48
55
err . name . should . equal ( 'BaseError' ) ;
49
56
err . meta . should . deepEqual ( error . meta ) ;
50
57
err . message . should . equal ( message ) ;
51
58
err . stack . should . be . a . String ( ) ;
59
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
52
60
err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) . length . should . equal ( 1 ) ;
53
61
checkKeys ( err ) ;
54
62
} ) ;
@@ -58,12 +66,14 @@ describe('#base_error', function() {
58
66
var error = new Error ( _message ) ;
59
67
error . meta = { a : 3 , b : 2 } ;
60
68
var message = 'this a BaseError' ;
69
+ var targetMessage = message + ' && ' + _message ;
61
70
var meta = { a : 1 } ;
62
71
var err = new BaseError ( error , meta , message ) ;
63
72
err . name . should . equal ( 'BaseError' ) ;
64
73
err . meta . should . deepEqual ( { a : 1 , b : 2 } ) ;
65
- err . message . should . equal ( message + ' && ' + _message ) ;
74
+ err . message . should . equal ( targetMessage ) ;
66
75
err . stack . should . be . a . String ( ) ;
76
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
67
77
err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) . length . should . equal ( 1 ) ;
68
78
checkKeys ( err ) ;
69
79
} ) ;
@@ -73,12 +83,14 @@ describe('#base_error', function() {
73
83
var error = new Error ( _message ) ;
74
84
error . meta = { a : 3 , b : 2 } ;
75
85
var message = 'this a BaseError' ;
86
+ var targetMessage = message + ' && ' + _message ;
76
87
var meta = { a : 1 } ;
77
88
var err = new BaseError ( meta , error , message ) ;
78
89
err . name . should . equal ( 'BaseError' ) ;
79
90
err . meta . should . deepEqual ( { a : 1 , b : 2 } ) ;
80
- err . message . should . equal ( message + ' && ' + _message ) ;
91
+ err . message . should . equal ( targetMessage ) ;
81
92
err . stack . should . be . a . String ( ) ;
93
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
82
94
err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) . length . should . equal ( 1 ) ;
83
95
checkKeys ( err ) ;
84
96
} ) ;
@@ -90,10 +102,13 @@ describe('#base_error', function() {
90
102
var message = '%s! this a %s' ;
91
103
var meta = { a : 1 } ;
92
104
var err = new BaseError ( meta , error , message , 'hello' , 'BaseError' ) ;
105
+ var targetMessage = 'hello! this a BaseError && ' + _message ;
106
+
93
107
err . name . should . equal ( 'BaseError' ) ;
94
108
err . meta . should . deepEqual ( { a : 1 , b : 2 } ) ;
95
- err . message . should . equal ( 'hello! this a BaseError && ' + _message ) ;
109
+ err . message . should . equal ( targetMessage ) ;
96
110
err . stack . should . be . a . String ( ) ;
111
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
97
112
err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) . length . should . equal ( 1 ) ;
98
113
checkKeys ( err ) ;
99
114
} ) ;
@@ -102,35 +117,44 @@ describe('#base_error', function() {
102
117
var error ;
103
118
var message = 'this a BaseError' ;
104
119
var err = new BaseError ( error , message ) ;
120
+ var targetMessage = message ;
121
+
105
122
err . name . should . equal ( 'BaseError' ) ;
106
123
err . meta . should . deepEqual ( { } ) ;
107
124
err . message . should . equal ( message ) ;
108
- err . stack . should . be . a . String ( ) ;
109
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
125
+ err . stack . should . be . a . String ( )
126
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
127
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
110
128
checkKeys ( err ) ;
111
129
} ) ;
112
130
113
131
it ( 'new BaseError(null, message) should equal new BaseError(message)' , function ( ) {
114
132
var error = null ;
115
133
var message = 'this a BaseError' ;
116
134
var err = new BaseError ( error , message ) ;
135
+ var targetMessage = message ;
136
+
117
137
err . name . should . equal ( 'BaseError' ) ;
118
138
err . meta . should . deepEqual ( { } ) ;
119
139
err . message . should . equal ( message ) ;
120
- err . stack . should . be . a . String ( ) ;
121
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
140
+ err . stack . should . be . a . String ( )
141
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
142
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
122
143
checkKeys ( err ) ;
123
144
} ) ;
124
145
125
146
it ( 'new BaseError(undefined, undefined, message) should equal new BaseError(message)' , function ( ) {
126
147
var error , meta ;
127
148
var message = 'this a BaseError' ;
128
149
var err = new BaseError ( error , meta , message ) ;
150
+ var targetMessage = message ;
151
+
129
152
err . name . should . equal ( 'BaseError' ) ;
130
153
err . meta . should . deepEqual ( { } ) ;
131
154
err . message . should . equal ( message ) ;
132
- err . stack . should . be . a . String ( ) ;
133
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
155
+ err . stack . should . be . a . String ( )
156
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
157
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
134
158
checkKeys ( err ) ;
135
159
} ) ;
136
160
@@ -139,11 +163,14 @@ describe('#base_error', function() {
139
163
var meta ;
140
164
var message = 'this a BaseError' ;
141
165
var err = new BaseError ( error , meta , message ) ;
166
+ var targetMessage = message ;
167
+
142
168
err . name . should . equal ( 'BaseError' ) ;
143
169
err . meta . should . deepEqual ( { } ) ;
144
170
err . message . should . equal ( message ) ;
145
- err . stack . should . be . a . String ( ) ;
146
- should . not . exist ( err . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ) ;
171
+ err . stack . should . be . a . String ( )
172
+ . and . not . containEql ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) ;
173
+ err . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
147
174
checkKeys ( err ) ;
148
175
} ) ;
149
176
@@ -185,10 +212,24 @@ describe('#base_error', function() {
185
212
var secondErr = new BaseError ( firstErr , secondMeta , 'the second error' ) ;
186
213
var thirdMeta = { b : '2' , c : [ 3 ] , d : true } ;
187
214
var thirdErr = new BaseError ( thirdMeta , secondErr , '%s is %s' , 'something' , 'wrong' ) ;
188
- thirdErr . message . should . equal ( 'something is wrong && the second error && the first error' ) ;
215
+ var targetMessage = 'something is wrong && the second error && the first error' ;
216
+
217
+ thirdErr . message . should . equal ( targetMessage ) ;
189
218
thirdErr . meta . should . deepEqual ( { a : 1 , b : '2' , c : [ 3 ] , d : true } ) ;
190
219
thirdErr . stack . should . be . a . String ( ) ;
220
+ thirdErr . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
191
221
thirdErr . stack . match ( / \= = = = P r e - E r r o r - S t a c k = = = = / g) . length . should . equal ( 2 ) ;
192
222
} ) ;
223
+
224
+ it ( 'show pre error message if current error without any message' , function ( ) {
225
+ var firstErr = new Error ( 'the first error' ) ;
226
+ var secondMeta = { a : 1 , b : 3 } ;
227
+ var secondErr = new BaseError ( firstErr , secondMeta ) ;
228
+ var targetMessage = 'the first error' ;
229
+
230
+ secondErr . message . should . equal ( targetMessage ) ;
231
+ secondErr . stack . should . be . a . String ( ) ;
232
+ secondErr . stack . indexOf ( 'BaseError: ' + targetMessage ) . should . equal ( 0 ) ;
233
+ } ) ;
193
234
} ) ;
194
235
} ) ;
0 commit comments