@@ -5,27 +5,16 @@ var assert = require('assert');
5
5
var Base = require ( '../../lib/reporters/base' ) ;
6
6
var Assert = require ( 'assert' ) . AssertionError ;
7
7
8
- function makeTest ( err ) {
9
- return {
10
- err : err ,
11
- titlePath : function ( ) {
12
- return [ 'test title' ] ;
13
- }
14
- } ;
15
- }
16
-
17
- function createElements ( argObj ) {
18
- var res = [ ] ;
19
- for ( var i = argObj . from ; i <= argObj . to ; i += 1 ) {
20
- res . push ( 'element ' + i ) ;
21
- }
22
- return res ;
23
- }
8
+ var makeTest = require ( './helpers' ) . makeTest ;
9
+ var createElements = require ( './helpers' ) . createElements ;
24
10
25
11
describe ( 'Base reporter' , function ( ) {
26
12
var stdout ;
27
13
var stdoutWrite ;
28
14
var useColors ;
15
+ var err ;
16
+ var errOut ;
17
+ var test ;
29
18
30
19
beforeEach ( function ( ) {
31
20
stdout = [ ] ;
@@ -43,11 +32,12 @@ describe('Base reporter', function () {
43
32
} ) ;
44
33
45
34
describe ( 'showDiff' , function ( ) {
46
- it ( 'should show diffs by default' , function ( ) {
47
- var err = new Assert ( { actual : 'foo' , expected : 'bar' } ) ;
48
- var errOut ;
35
+ beforeEach ( function ( ) {
36
+ err = new Assert ( { actual : 'foo' , expected : 'bar' } ) ;
37
+ } ) ;
49
38
50
- var test = makeTest ( err ) ;
39
+ it ( 'should show diffs by default' , function ( ) {
40
+ test = makeTest ( err ) ;
51
41
52
42
Base . list ( [ test ] ) ;
53
43
@@ -57,11 +47,8 @@ describe('Base reporter', function () {
57
47
} ) ;
58
48
59
49
it ( 'should show diffs if property set to `true`' , function ( ) {
60
- var err = new Assert ( { actual : 'foo' , expected : 'bar' } ) ;
61
- var errOut ;
62
-
63
50
err . showDiff = true ;
64
- var test = makeTest ( err ) ;
51
+ test = makeTest ( err ) ;
65
52
66
53
Base . list ( [ test ] ) ;
67
54
@@ -71,11 +58,8 @@ describe('Base reporter', function () {
71
58
} ) ;
72
59
73
60
it ( 'should not show diffs when showDiff property set to `false`' , function ( ) {
74
- var err = new Assert ( { actual : 'foo' , expected : 'bar' } ) ;
75
- var errOut ;
76
-
77
61
err . showDiff = false ;
78
- var test = makeTest ( err ) ;
62
+ test = makeTest ( err ) ;
79
63
80
64
Base . list ( [ test ] ) ;
81
65
@@ -85,10 +69,9 @@ describe('Base reporter', function () {
85
69
} ) ;
86
70
87
71
it ( 'should not show diffs when expected is not defined' , function ( ) {
88
- var err = new Error ( 'ouch' ) ;
89
- var errOut ;
72
+ err = new Error ( 'ouch' ) ;
90
73
91
- var test = makeTest ( err ) ;
74
+ test = makeTest ( err ) ;
92
75
93
76
Base . list ( [ test ] ) ;
94
77
@@ -98,10 +81,7 @@ describe('Base reporter', function () {
98
81
} ) ;
99
82
100
83
it ( 'should not show diffs when hideDiff is set' , function ( ) {
101
- var err = new Assert ( { actual : 'foo' , expected : 'bar' } ) ;
102
- var errOut ;
103
-
104
- var test = makeTest ( err ) ;
84
+ test = makeTest ( err ) ;
105
85
106
86
Base . hideDiff = true ;
107
87
Base . list ( [ test ] ) ;
@@ -116,13 +96,12 @@ describe('Base reporter', function () {
116
96
describe ( 'Getting two strings' , function ( ) {
117
97
// Fix regression V1.2.1(see: issue #1241)
118
98
it ( 'should show strings diff as is' , function ( ) {
119
- var err = new Error ( 'test' ) ;
120
- var errOut ;
99
+ err = new Error ( 'test' ) ;
121
100
122
101
err . actual = 'foo\nbar' ;
123
102
err . expected = 'foo\nbaz' ;
124
103
err . showDiff = true ;
125
- var test = makeTest ( err ) ;
104
+ test = makeTest ( err ) ;
126
105
127
106
Base . list ( [ test ] ) ;
128
107
@@ -138,6 +117,9 @@ describe('Base reporter', function () {
138
117
139
118
describe ( 'Diff generation' , function ( ) {
140
119
var oldInlineDiffs ;
120
+ var actual ;
121
+ var expected ;
122
+ var output ;
141
123
142
124
beforeEach ( function ( ) {
143
125
oldInlineDiffs = Base . inlineDiffs ;
@@ -148,35 +130,34 @@ describe('Base reporter', function () {
148
130
} ) ;
149
131
150
132
it ( 'should generate unified diffs if `inlineDiff === false`' , function ( ) {
151
- var actual = 'a foo unified diff' ;
152
- var expected = 'a bar unified diff' ;
133
+ actual = 'a foo unified diff' ;
134
+ expected = 'a bar unified diff' ;
153
135
154
136
Base . inlineDiffs = false ;
155
- var output = Base . generateDiff ( actual , expected ) ;
137
+ output = Base . generateDiff ( actual , expected ) ;
156
138
157
139
expect ( output ) . to . equal ( '\n + expected - actual\n\n -a foo unified diff\n +a bar unified diff\n ' ) ;
158
140
} ) ;
159
141
160
142
it ( 'should generate inline diffs if `inlineDiffs === true`' , function ( ) {
161
- var actual = 'a foo inline diff' ;
162
- var expected = 'a bar inline diff' ;
143
+ actual = 'a foo inline diff' ;
144
+ expected = 'a bar inline diff' ;
163
145
164
146
Base . inlineDiffs = true ;
165
- var output = Base . generateDiff ( actual , expected ) ;
147
+ output = Base . generateDiff ( actual , expected ) ;
166
148
167
149
expect ( output ) . to . equal ( ' \n actual expected\n \n a foobar inline diff\n ' ) ;
168
150
} ) ;
169
151
} ) ;
170
152
171
153
describe ( 'Inline strings diff' , function ( ) {
172
154
it ( 'should show single line diff if property set to `true`' , function ( ) {
173
- var err = new Error ( 'test' ) ;
174
- var errOut ;
155
+ err = new Error ( 'test' ) ;
175
156
176
157
err . actual = 'a foo inline diff' ;
177
158
err . expected = 'a bar inline diff' ;
178
159
err . showDiff = true ;
179
- var test = makeTest ( err ) ;
160
+ test = makeTest ( err ) ;
180
161
181
162
Base . inlineDiffs = true ;
182
163
Base . list ( [ test ] ) ;
@@ -190,13 +171,12 @@ describe('Base reporter', function () {
190
171
} ) ;
191
172
192
173
it ( 'should split lines when string has more than 4 line breaks' , function ( ) {
193
- var err = new Error ( 'test' ) ;
194
- var errOut ;
174
+ err = new Error ( 'test' ) ;
195
175
196
176
err . actual = 'a\nfoo\ninline\ndiff\nwith\nmultiple lines' ;
197
177
err . expected = 'a\nbar\ninline\ndiff\nwith\nmultiple lines' ;
198
178
err . showDiff = true ;
199
- var test = makeTest ( err ) ;
179
+ test = makeTest ( err ) ;
200
180
201
181
Base . inlineDiffs = true ;
202
182
Base . list ( [ test ] ) ;
@@ -216,14 +196,15 @@ describe('Base reporter', function () {
216
196
} ) ;
217
197
218
198
describe ( 'unified diff reporter' , function ( ) {
219
- it ( 'should separate diff hunks by two dashes' , function ( ) {
220
- var err = new Error ( 'test' ) ;
221
- var errOut ;
199
+ beforeEach ( function ( ) {
200
+ err = new Error ( 'test' ) ;
201
+ } ) ;
222
202
203
+ it ( 'should separate diff hunks by two dashes' , function ( ) {
223
204
err . actual = createElements ( { from : 2 , to : 11 } ) ;
224
205
err . expected = createElements ( { from : 1 , to : 10 } ) ;
225
206
err . showDiff = true ;
226
- var test = makeTest ( err ) ;
207
+ test = makeTest ( err ) ;
227
208
228
209
Base . inlineDiffs = false ;
229
210
Base . list ( [ test ] ) ;
@@ -256,13 +237,12 @@ describe('Base reporter', function () {
256
237
} ) ;
257
238
258
239
it ( 'should stringify objects' , function ( ) {
259
- var err = new Error ( 'test' ) ;
260
- var errOut ;
240
+ err = new Error ( 'test' ) ;
261
241
262
242
err . actual = { key : 'a1' } ;
263
243
err . expected = { key : 'e1' } ;
264
244
err . showDiff = true ;
265
- var test = makeTest ( err ) ;
245
+ test = makeTest ( err ) ;
266
246
267
247
Base . list ( [ test ] ) ;
268
248
@@ -274,15 +254,14 @@ describe('Base reporter', function () {
274
254
} ) ;
275
255
276
256
it ( 'should stringify Object.create(null)' , function ( ) {
277
- var err = new Error ( 'test' ) ;
278
- var errOut ;
257
+ err = new Error ( 'test' ) ;
279
258
280
259
err . actual = Object . create ( null ) ;
281
260
err . actual . hasOwnProperty = 1 ;
282
261
err . expected = Object . create ( null ) ;
283
262
err . expected . hasOwnProperty = 2 ;
284
263
err . showDiff = true ;
285
- var test = makeTest ( err ) ;
264
+ test = makeTest ( err ) ;
286
265
287
266
Base . list ( [ test ] ) ;
288
267
@@ -294,15 +273,13 @@ describe('Base reporter', function () {
294
273
} ) ;
295
274
296
275
it ( 'should handle error messages that are not strings' , function ( ) {
297
- var errOut ;
298
-
299
276
try {
300
277
assert ( false , true ) ;
301
278
} catch ( err ) {
302
279
err . actual = false ;
303
280
err . expected = true ;
304
281
err . showDiff = true ;
305
- var test = makeTest ( err ) ;
282
+ test = makeTest ( err ) ;
306
283
307
284
Base . list ( [ test ] ) ;
308
285
@@ -315,8 +292,6 @@ describe('Base reporter', function () {
315
292
} ) ;
316
293
317
294
it ( 'should interpret chaijs custom error messages' , function ( ) {
318
- var errOut ;
319
-
320
295
try {
321
296
// expect(43, 'custom error message').to.equal(42);
322
297
// AssertionError: custom error message: expected 43 to equal 42.
@@ -325,7 +300,7 @@ describe('Base reporter', function () {
325
300
err . actual = 43 ;
326
301
err . expected = 42 ;
327
302
err . showDiff = true ;
328
- var test = makeTest ( err ) ;
303
+ test = makeTest ( err ) ;
329
304
330
305
Base . list ( [ test ] ) ;
331
306
@@ -339,51 +314,51 @@ describe('Base reporter', function () {
339
314
} ) ;
340
315
341
316
it ( 'should remove message from stack' , function ( ) {
342
- var err = {
317
+ err = {
343
318
message : 'Error' ,
344
319
stack : 'Error\nfoo\nbar' ,
345
320
showDiff : false
346
321
} ;
347
- var test = makeTest ( err ) ;
322
+ test = makeTest ( err ) ;
348
323
349
324
Base . list ( [ test ] ) ;
350
325
351
- var errOut = stdout . join ( '\n' ) . trim ( ) ;
326
+ errOut = stdout . join ( '\n' ) . trim ( ) ;
352
327
expect ( errOut ) . to . equal ( '1) test title:\n Error\n foo\n bar' ) ;
353
328
} ) ;
354
329
355
330
it ( 'should use the inspect() property if `message` is not set' , function ( ) {
356
- var err = {
331
+ err = {
357
332
showDiff : false ,
358
333
inspect : function ( ) { return 'an error happened' ; }
359
334
} ;
360
- var test = makeTest ( err ) ;
335
+ test = makeTest ( err ) ;
361
336
Base . list ( [ test ] ) ;
362
- var errOut = stdout . join ( '\n' ) . trim ( ) ;
337
+ errOut = stdout . join ( '\n' ) . trim ( ) ;
363
338
expect ( errOut ) . to . equal ( '1) test title:\n an error happened' ) ;
364
339
} ) ;
365
340
366
341
it ( 'should set an empty message if `message` and `inspect()` are not set' , function ( ) {
367
- var err = {
342
+ err = {
368
343
showDiff : false
369
344
} ;
370
- var test = makeTest ( err ) ;
345
+ test = makeTest ( err ) ;
371
346
Base . list ( [ test ] ) ;
372
- var errOut = stdout . join ( '\n' ) . trim ( ) ;
347
+ errOut = stdout . join ( '\n' ) . trim ( ) ;
373
348
expect ( errOut ) . to . equal ( '1) test title:' ) ;
374
349
} ) ;
375
350
376
351
it ( 'should not modify stack if it does not contain message' , function ( ) {
377
- var err = {
352
+ err = {
378
353
message : 'Error' ,
379
354
stack : 'foo\nbar' ,
380
355
showDiff : false
381
356
} ;
382
- var test = makeTest ( err ) ;
357
+ test = makeTest ( err ) ;
383
358
384
359
Base . list ( [ test ] ) ;
385
360
386
- var errOut = stdout . join ( '\n' ) . trim ( ) ;
361
+ errOut = stdout . join ( '\n' ) . trim ( ) ;
387
362
expect ( errOut ) . to . equal ( '1) test title:\n Error\n foo\n bar' ) ;
388
363
} ) ;
389
364
} ) ;
0 commit comments