@@ -14,9 +14,8 @@ import {
14
14
} from './RoutesFolderWatcher'
15
15
import { resolveOptions , RoutesFolderOption } from '../options'
16
16
import pathe from 'pathe'
17
- import fs from 'node:fs'
17
+ import fs from 'node:fs/promises '
18
18
import { tmpdir } from 'node:os'
19
- import { delay } from '../../tests/utils'
20
19
21
20
const FIXTURES_ROOT = pathe . resolve (
22
21
pathe . join ( tmpdir ( ) , 'vue-router-' + Date . now ( ) )
@@ -25,22 +24,22 @@ const FIXTURES_ROOT = pathe.resolve(
25
24
const TEST_TIMEOUT = 4000
26
25
27
26
describe ( 'RoutesFolderWatcher' , ( ) => {
28
- beforeAll ( ( ) => {
29
- fs . mkdirSync ( FIXTURES_ROOT , { recursive : true } )
27
+ beforeAll ( async ( ) => {
28
+ await fs . mkdir ( FIXTURES_ROOT , { recursive : true } )
30
29
} )
31
30
32
31
// keep track of all watchers to close them after the tests
33
32
let watcherList : RoutesFolderWatcher [ ] = [ ]
34
33
let testId = 0
35
- function createWatcher ( routesFolderOptions : RoutesFolderOption ) {
34
+ async function createWatcher ( routesFolderOptions : RoutesFolderOption ) {
36
35
const rootDir = pathe . join ( FIXTURES_ROOT , `test-${ testId ++ } ` )
37
36
const srcDir = pathe . join ( rootDir , routesFolderOptions . src )
38
37
const options = resolveFolderOptions (
39
38
resolveOptions ( { root : rootDir } ) ,
40
39
routesFolderOptions
41
40
)
42
41
43
- fs . mkdirSync ( srcDir , { recursive : true } )
42
+ await fs . mkdir ( srcDir , { recursive : true } )
44
43
45
44
const watcher = new RoutesFolderWatcher ( options )
46
45
watcherList . push ( watcher )
@@ -75,17 +74,16 @@ describe('RoutesFolderWatcher', () => {
75
74
}
76
75
77
76
it ( 'triggers when new pages are added' , async ( ) => {
78
- const { watcher, srcDir } = createWatcher ( { src : 'src/pages' } )
77
+ const { watcher, srcDir } = await createWatcher ( { src : 'src/pages' } )
79
78
80
79
const add = vi . fn < ( ctx : HandlerContext ) => void > ( )
81
- // watcher.on('add', add)
82
- // chokidar triggers change instead of add
80
+ // chokidar triggers change and/or add ???
81
+ watcher . on ( 'add' , add )
83
82
watcher . on ( 'change' , add )
84
83
85
84
expect ( add ) . toHaveBeenCalledTimes ( 0 )
86
- await delay ( 200 )
87
85
88
- fs . writeFileSync ( pathe . join ( srcDir , 'a.vue' ) , '' , 'utf-8' )
86
+ await fs . writeFile ( pathe . join ( srcDir , 'a.vue' ) , '' , 'utf-8' )
89
87
90
88
await waitForSpy ( add )
91
89
} )
0 commit comments