forked from jestjs/jest
/
locationInResults.test.ts
83 lines (68 loc) · 1.96 KB
/
locationInResults.test.ts
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
/**
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import {isJestJasmineRun} from '@jest/test-utils';
import {json as runWithJson} from '../runJest';
it('defaults to null for location', () => {
const {json: result} = runWithJson('location-in-results');
const assertions = result.testResults[0].assertionResults;
expect(result.success).toBe(true);
expect(result.numTotalTests).toBe(10);
expect(assertions).toHaveLength(10);
for (const assertion of assertions) {
expect(assertion.location).toBeNull();
}
});
it('adds correct location info when provided with flag', () => {
const {json: result} = runWithJson('location-in-results', [
'--testLocationInResults',
]);
const assertions = result.testResults[0].assertionResults;
expect(result.success).toBe(true);
expect(result.numTotalTests).toBe(10);
expect(assertions[0].location).toEqual({
column: 1,
line: 10,
});
expect(assertions[1].location).toEqual({
column: 1,
line: 14,
});
expect(assertions[2].location).toEqual({
column: 1,
line: 19,
});
expect(assertions[3].location).toEqual({
column: 22,
line: 23,
});
expect(assertions[4].location).toEqual({
column: 22,
line: 23,
});
// Technically the column should be 3, but callsites is not correct.
// jest-circus uses stack-utils + asyncErrors which resolves this.
expect(assertions[5].location).toEqual({
column: isJestJasmineRun() ? 2 : 3,
line: 28,
});
expect(assertions[6].location).toEqual({
column: isJestJasmineRun() ? 2 : 3,
line: 32,
});
expect(assertions[7].location).toEqual({
column: isJestJasmineRun() ? 2 : 3,
line: 37,
});
expect(assertions[8].location).toEqual({
column: 24,
line: 41,
});
expect(assertions[9].location).toEqual({
column: 24,
line: 41,
});
});