@@ -12,8 +12,6 @@ if (common.isIBMi)
1212if ( common . isAIX )
1313 common . skip ( 'folder watch capability is limited in AIX.' ) ;
1414
15- tmpdir . refresh ( ) ;
16-
1715const { FilesWatcher } = watcher ;
1816
1917tmpdir . refresh ( ) ;
@@ -32,15 +30,17 @@ Object.entries(fixtureContent)
3230 . forEach ( ( [ file , content ] ) => writeFileSync ( fixturePaths [ file ] , content ) ) ;
3331
3432describe ( 'watch file with shared dependency' , ( ) => {
35- it ( 'should not remove shared dependencies when unfiltering an owner' , ( ) => {
33+ it ( 'should not remove shared dependencies when unfiltering an owner' , ( t , done ) => {
3634 const controller = new AbortController ( ) ;
37- const watcher = new FilesWatcher ( { signal : controller . signal , debounce : 200 } ) ;
35+ const watcher = new FilesWatcher ( { signal : controller . signal } ) ;
3836
3937 watcher . on ( 'changed' , ( { owners } ) => {
40- assert . strictEqual ( owners . size , 2 ) ;
38+ if ( owners . size !== 2 ) return ;
39+
4140 assert . ok ( owners . has ( fixturePaths [ 'test.js' ] ) ) ;
4241 assert . ok ( owners . has ( fixturePaths [ 'test-2.js' ] ) ) ;
4342 controller . abort ( ) ;
43+ done ( ) ;
4444 } ) ;
4545 watcher . filterFile ( fixturePaths [ 'test.js' ] ) ;
4646 watcher . filterFile ( fixturePaths [ 'test-2.js' ] ) ;
@@ -49,6 +49,20 @@ describe('watch file with shared dependency', () => {
4949 watcher . unfilterFilesOwnedBy ( [ fixturePaths [ 'test.js' ] ] ) ;
5050 watcher . filterFile ( fixturePaths [ 'test.js' ] ) ;
5151 watcher . filterFile ( fixturePaths [ 'dependency.js' ] , fixturePaths [ 'test.js' ] ) ;
52- writeFileSync ( fixturePaths [ 'dependency.js' ] , 'module.exports = { modified: true };' ) ;
52+
53+ if ( common . isMacOS ) {
54+ // Do the write with a delay to ensure that the OS is ready to notify us.
55+ setTimeout ( ( ) => {
56+ writeFileSync (
57+ fixturePaths [ 'dependency.js' ] ,
58+ 'module.exports = { modified: true };'
59+ ) ;
60+ } , common . platformTimeout ( 200 ) ) ;
61+ } else {
62+ writeFileSync (
63+ fixturePaths [ 'dependency.js' ] ,
64+ 'module.exports = { modified: true };'
65+ ) ;
66+ }
5367 } ) ;
5468} ) ;
0 commit comments