-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
170 lines (145 loc) · 5.76 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
'use strict'
module.exports = require('joe/tester').tests({ reporter: require.resolve('..') }, [
// ------------------------------------
{
script: require.resolve('joe-examples/lib/multi.js'),
expected: `
multi sync test example
multi sync test example ✔
multi async test example
multi async test example ✔
multi empty sync suite test example
multi empty sync suite test example ✔
multi empty async suite test example
multi empty async suite test example ✔
multi sync suite example
multi sync suite example ➞ sub sync test example
multi sync suite example ➞ sub sync test example ✔
multi sync suite example ➞ sub async test example
multi sync suite example ➞ sub async test example ✔
multi sync suite example ✔
multi async suite example
multi async suite example ➞ sub sync test example
multi async suite example ➞ sub sync test example ✔
multi async suite example ➞ sub async test example
multi async suite example ➞ sub async test example ✔
multi async suite example ✔
multi extra async test example
multi extra async test example ✔
multi extra sync test example
multi extra sync test example ✔
8/8 tests ran successfully, everything passed`
},
// ------------------------------------
{
script: require.resolve('joe-examples/lib/timing.js'),
expected: `
timing example
this will be outputted first
timing example ➞ first test
this will be outputted second
timing example ➞ first test ✔
timing example ➞ second test
this will be outputted third
timing example ➞ second test ✔
timing example ✔
2/2 tests ran successfully, everything passed`
},
// ------------------------------------
{
script: require.resolve('joe-examples/lib/standard.js'),
expected: `
standard example
standard example ➞ tests
standard example ➞ tests ➞ async-tests
standard example ➞ tests ➞ async-tests ➞ 1/2
standard example ➞ tests ➞ async-tests ➞ 1/2 ✔
standard example ➞ tests ➞ async-tests ➞ 2/2
standard example ➞ tests ➞ async-tests ➞ 2/2 ✔
standard example ➞ tests ➞ async-tests ✔
standard example ➞ tests ➞ sync
standard example ➞ tests ➞ sync ➞ 1/2
standard example ➞ tests ➞ sync ➞ 1/2 ✔
standard example ➞ tests ➞ sync ➞ 2/2
standard example ➞ tests ➞ sync ➞ 2/2 ✔
standard example ➞ tests ➞ sync ✔
standard example ➞ tests ➞ async-sync
standard example ➞ tests ➞ async-sync ➞ 1/2
standard example ➞ tests ➞ async-sync ➞ 1/2 ✔
standard example ➞ tests ➞ async-sync ➞ 2/2
standard example ➞ tests ➞ async-sync ➞ 2/2 ✔
standard example ➞ tests ➞ async-sync ✔
standard example ➞ tests ➞ async-suite
standard example ➞ tests ➞ async-suite ➞ 1/2
standard example ➞ tests ➞ async-suite ➞ 1/2 ✔
standard example ➞ tests ➞ async-suite ➞ 2/2
standard example ➞ tests ➞ async-suite ➞ 2/2 ✔
standard example ➞ tests ➞ async-suite ✔
standard example ➞ tests ➞ before and after
standard example ➞ tests ➞ before and after ➞ test 1
standard example ➞ tests ➞ before and after ➞ test 1 ✔
standard example ➞ tests ➞ before and after ➞ test 2
standard example ➞ tests ➞ before and after ➞ test 2 ✔
standard example ➞ tests ➞ before and after ➞ test 3
standard example ➞ tests ➞ before and after ➞ test 3 ✔
standard example ➞ tests ➞ before and after ➞ test 4
standard example ➞ tests ➞ before and after ➞ test 4 ✔
standard example ➞ tests ➞ before and after ✔
standard example ➞ tests ➞ deliberate-suite-failure ignored
standard example ➞ tests ➞ deliberate-suite-failure ignored ✔
standard example ➞ tests ➞ deliberate-test-failure ignored
standard example ➞ tests ➞ deliberate-test-failure ignored ➞ 1/2
standard example ➞ tests ➞ deliberate-test-failure ignored ➞ 1/2 ✘
standard example ➞ tests ➞ deliberate-test-failure ignored ➞ 2/2
standard example ➞ tests ➞ deliberate-test-failure ignored ➞ 2/2 ✘
standard example ➞ tests ➞ deliberate-test-failure ignored ✔
standard example ➞ tests ➞ deliberate-test-failure
standard example ➞ tests ➞ deliberate-test-failure ➞ 1/2
standard example ➞ tests ➞ deliberate-test-failure ➞ 1/2 ✘
standard example ➞ tests ➞ deliberate-test-failure ✘
standard example ➞ tests ✘
standard example ✘
FAILURE: 12/15 tests ran successfully; 3 failed, 0 incomplete, 3 errors
Error #1:
standard example ➞ tests ➞ deliberate-test-failure ignored ➞ 1/2
Error: deliberate error 1
Error #2:
standard example ➞ tests ➞ deliberate-test-failure ignored ➞ 2/2
Error: deliberate error 2
Error #3:
standard example ➞ tests ➞ deliberate-test-failure ➞ 1/2
Error: deliberate error`
},
// ------------------------------------
{
script: require.resolve('joe-examples/lib/fail-never-finish.js'),
expected: `
fail never finish example
FAILURE: 0/1 tests ran successfully; 0 failed, 1 incomplete, 0 errors`
},
// ------------------------------------
{
script: require.resolve('joe-examples/lib/fail-throw-suite.js'),
expected: `
fail throw suite example
fail throw suite example ✘
FAILURE: 0/0 tests ran successfully; 0 failed, 0 incomplete, 1 errors
Error #1:
fail throw suite example
Error: I am the deliberate throw that occured during the suite`
},
// ------------------------------------
{
script: require.resolve('joe-examples/lib/fail-throw-test-uncaught.js'),
expected: `
fail throw test uncaught example
fail throw test uncaught example ➞ throw after timeout
fail throw test uncaught example ➞ throw after timeout ✔
fail throw test uncaught example ✔
FAILURE: 1/1 tests ran successfully; 0 failed, 0 incomplete, 1 errors
Error #1:
uncaughtException
Error: I am the deliberate throw that occured in the test, but after the test has completed`
}
// All done
])