1
1
// Flags: --experimental-import-meta-resolve
2
2
import { spawnPromisified } from '../common/index.mjs' ;
3
+ import { fileURL as fixturesFileURL } from '../common/fixtures.mjs' ;
3
4
import assert from 'assert' ;
4
5
import { spawn } from 'child_process' ;
5
6
import { execPath } from 'process' ;
6
7
7
- const dirname = import . meta. url . slice ( 0 , import . meta. url . lastIndexOf ( '/' ) + 1 ) ;
8
- const fixtures = dirname . slice ( 0 , dirname . lastIndexOf ( '/' , dirname . length - 2 ) + 1 ) + 'fixtures/' ;
8
+ const fixtures = `${ fixturesFileURL ( ) } /` ;
9
9
10
10
assert . strictEqual ( import . meta. resolve ( './test-esm-import-meta.mjs' ) ,
11
- dirname + ' test-esm-import-meta.mjs') ;
11
+ new URL ( './ test-esm-import-meta.mjs', import . meta . url ) . href ) ;
12
12
assert . strictEqual ( import . meta. resolve ( './notfound.mjs' ) , new URL ( './notfound.mjs' , import . meta. url ) . href ) ;
13
13
assert . strictEqual ( import . meta. resolve ( './asset' ) , new URL ( './asset' , import . meta. url ) . href ) ;
14
- try {
14
+ assert . throws ( ( ) => {
15
15
import . meta. resolve ( 'does-not-exist' ) ;
16
- assert . fail ( ) ;
17
- } catch ( e ) {
18
- assert . strictEqual ( e . code , 'ERR_MODULE_NOT_FOUND' ) ;
19
- }
16
+ } , {
17
+ code : 'ERR_MODULE_NOT_FOUND' ,
18
+ } ) ;
20
19
assert . strictEqual (
21
20
import . meta. resolve ( '../fixtures/empty-with-bom.txt' ) ,
22
21
fixtures + 'empty-with-bom.txt' ) ;
@@ -60,11 +59,11 @@ await assert.rejects(import('data:text/javascript,export default import.meta.res
60
59
} ) ;
61
60
62
61
{
63
- const cp = spawn ( execPath , [
62
+ const { stdout } = await spawnPromisified ( execPath , [
64
63
'--input-type=module' ,
65
64
'--eval' , 'console.log(typeof import.meta.resolve)' ,
66
65
] ) ;
67
- assert . match ( ( await cp . stdout . toArray ( ) ) . toString ( ) , / ^ f u n c t i o n \r ? \n $ / ) ;
66
+ assert . match ( stdout , / ^ f u n c t i o n \r ? \n $ / ) ;
68
67
}
69
68
70
69
{
@@ -76,11 +75,11 @@ await assert.rejects(import('data:text/javascript,export default import.meta.res
76
75
}
77
76
78
77
{
79
- const cp = spawn ( execPath , [
78
+ const { stdout } = await spawnPromisified ( execPath , [
80
79
'--input-type=module' ,
81
80
'--eval' , 'import "data:text/javascript,console.log(import.meta.resolve(%22node:os%22))"' ,
82
81
] ) ;
83
- assert . match ( ( await cp . stdout . toArray ( ) ) . toString ( ) , / ^ n o d e : o s \r ? \n $ / ) ;
82
+ assert . match ( stdout , / ^ n o d e : o s \r ? \n $ / ) ;
84
83
}
85
84
86
85
{
0 commit comments