-
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
/
circularInequality.test.ts
58 lines (47 loc) · 1.36 KB
/
circularInequality.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
/**
* 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 {tmpdir} from 'os';
import * as path from 'path';
import {wrap} from 'jest-snapshot-serializer-raw';
import {
cleanup,
createEmptyPackage,
extractSortedSummary,
writeFiles,
} from '../Utils';
import {runContinuous} from '../runJest';
const tempDir = path.resolve(tmpdir(), 'circular-inequality-test');
beforeEach(() => {
createEmptyPackage(tempDir);
});
afterEach(() => {
cleanup(tempDir);
});
test('handles circular inequality properly', async () => {
const testFileContent = `
it('test', () => {
const foo = {};
foo.ref = foo;
expect(foo).toEqual({});
});
`;
writeFiles(tempDir, {
'__tests__/test-1.js': testFileContent,
'__tests__/test-2.js': testFileContent,
});
const {end, waitUntil} = runContinuous(
tempDir,
['--no-watchman', '--watch-all'],
// timeout in case the `waitUntil` below doesn't fire
{stripAnsi: true, timeout: 5000},
);
await waitUntil(({stderr}) => stderr.includes('Ran all test suites.'));
const {stderr} = await end();
const {summary, rest} = extractSortedSummary(stderr);
expect(wrap(rest)).toMatchSnapshot();
expect(wrap(summary)).toMatchSnapshot();
});