Skip to content

Commit 6ac3c11

Browse files
committed
move test
1 parent 87a015a commit 6ac3c11

File tree

2 files changed

+77
-88
lines changed

2 files changed

+77
-88
lines changed

test/es-module/test-esm-detect-ambiguous.mjs

Lines changed: 0 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -409,91 +409,3 @@ describe('Wrapping a `require` of an ES module while using `--abort-on-uncaught-
409409
strictEqual(signal, null);
410410
});
411411
});
412-
413-
describe('when working with Worker threads', () => {
414-
it('should support sloppy scripts that declare CJS "global-like" variables', async () => {
415-
const { code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
416-
'--eval',
417-
'new worker_threads.Worker("let __filename,__dirname,require,module,exports;this.a",{eval:true})',
418-
]);
419-
420-
strictEqual(stderr, '');
421-
strictEqual(stdout, '');
422-
strictEqual(code, 0);
423-
strictEqual(signal, null);
424-
});
425-
});
426-
427-
describe('maybe top-level await syntax errors that are not recognized as top-level await errors', () => {
428-
const expressions = [
429-
// string
430-
{ expression: '""' },
431-
// number
432-
{ expression: '0' },
433-
// boolean
434-
{ expression: 'true' },
435-
// null
436-
{ expression: 'null' },
437-
// undefined
438-
{ expression: 'undefined' },
439-
// object
440-
{ expression: '{}' },
441-
// array
442-
{ expression: '[]' },
443-
// new
444-
{ expression: 'new Date()' },
445-
// identifier
446-
{ initialize: 'const a = 2;', expression: 'a' },
447-
];
448-
it('should not crash the process', async () => {
449-
for (const { expression, initialize } of expressions) {
450-
const wrapperExpressions = [
451-
`function callAwait() {}; callAwait(await ${expression});`,
452-
`if (await ${expression}) {}`,
453-
`{ key: await ${expression} }`,
454-
`[await ${expression}]`,
455-
`(await ${expression})`,
456-
];
457-
for (const wrapperExpression of wrapperExpressions) {
458-
const { code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
459-
'--eval',
460-
`
461-
${initialize || ''}
462-
${wrapperExpression}
463-
`,
464-
]);
465-
466-
strictEqual(stderr, '');
467-
strictEqual(stdout, '');
468-
strictEqual(code, 0);
469-
strictEqual(signal, null);
470-
}
471-
}
472-
});
473-
474-
it('should crash when the expression is not valid', async () => {
475-
let { code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
476-
'--eval',
477-
`
478-
function callAwait() {}
479-
callAwait(await "" "");
480-
`,
481-
]);
482-
match(stderr, /SyntaxError: missing \) after argument list/);
483-
strictEqual(stdout, '');
484-
strictEqual(code, 1);
485-
strictEqual(signal, null);
486-
487-
({ code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
488-
'--eval',
489-
`
490-
function callAwait() {}
491-
if (a "") {}
492-
`,
493-
]));
494-
match(stderr, /SyntaxError: Unexpected string/);
495-
strictEqual(stdout, '');
496-
strictEqual(code, 1);
497-
strictEqual(signal, null);
498-
});
499-
});
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
import { spawnPromisified } from '../common/index.mjs';
2+
import { describe, it } from 'node:test';
3+
import { strictEqual, match } from 'node:assert';
4+
5+
describe('maybe top-level await syntax errors that are not recognized as top-level await errors', () => {
6+
const expressions = [
7+
// string
8+
{ expression: '""' },
9+
// number
10+
{ expression: '0' },
11+
// boolean
12+
{ expression: 'true' },
13+
// null
14+
{ expression: 'null' },
15+
// undefined
16+
{ expression: 'undefined' },
17+
// object
18+
{ expression: '{}' },
19+
// array
20+
{ expression: '[]' },
21+
// new
22+
{ expression: 'new Date()' },
23+
// identifier
24+
{ initialize: 'const a = 2;', expression: 'a' },
25+
];
26+
it('should not crash the process', async () => {
27+
for (const { expression, initialize } of expressions) {
28+
const wrapperExpressions = [
29+
`function callAwait() {}; callAwait(await ${expression});`,
30+
`if (await ${expression}) {}`,
31+
`{ key: await ${expression} }`,
32+
`[await ${expression}]`,
33+
`(await ${expression})`,
34+
];
35+
for (const wrapperExpression of wrapperExpressions) {
36+
const { code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
37+
'--eval',
38+
`
39+
${initialize || ''}
40+
${wrapperExpression}
41+
`,
42+
]);
43+
44+
strictEqual(stderr, '');
45+
strictEqual(stdout, '');
46+
strictEqual(code, 0);
47+
strictEqual(signal, null);
48+
}
49+
}
50+
});
51+
52+
it('should crash when the expression is not valid', async () => {
53+
let { code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
54+
'--eval',
55+
`
56+
function callAwait() {}
57+
callAwait(await "" "");
58+
`,
59+
]);
60+
match(stderr, /SyntaxError: missing \) after argument list/);
61+
strictEqual(stdout, '');
62+
strictEqual(code, 1);
63+
strictEqual(signal, null);
64+
65+
({ code, signal, stdout, stderr } = await spawnPromisified(process.execPath, [
66+
'--eval',
67+
`
68+
function callAwait() {}
69+
if (a "") {}
70+
`,
71+
]));
72+
match(stderr, /SyntaxError: Unexpected string/);
73+
strictEqual(stdout, '');
74+
strictEqual(code, 1);
75+
strictEqual(signal, null);
76+
});
77+
});

0 commit comments

Comments
 (0)