| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 169bff3 commit dea3ac7
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,21 +1,29 @@ | |||
| 1 | 1 | 'use strict'; | |
| 2 | 2 | ||
| 3 | 3 | const common = require('../common'); | |
| 4 | - const commonPath = require.resolve('../common'); | ||
| 4 | + const tmpdir = require('../common/tmpdir'); | ||
| 5 | 5 | const assert = require('assert'); | |
| 6 | 6 | const initHooks = require('./init-hooks'); | |
| 7 | 7 | const { checkInvocations } = require('./hook-checks'); | |
| 8 | 8 | const fs = require('fs'); | |
| 9 | + const path = require('path'); | ||
| 9 | 10 | ||
| 10 | 11 | if (!common.isMainThread) | |
| 11 | 12 | common.skip('Worker bootstrapping works differently -> different async IDs'); | |
| 12 | 13 | ||
| 14 | + tmpdir.refresh(); | ||
| 15 | + | ||
| 16 | + const file1 = path.join(tmpdir.path, 'file1'); | ||
| 17 | + const file2 = path.join(tmpdir.path, 'file2'); | ||
| 18 | + fs.writeFileSync(file1, 'foo'); | ||
| 19 | + fs.writeFileSync(file2, 'bar'); | ||
| 20 | + | ||
| 13 | 21 | const hooks = initHooks(); | |
| 14 | 22 | hooks.enable(); | |
| 15 | 23 | ||
| 16 | 24 | function onchange() {} | |
| 17 | 25 | // install first file watcher | |
| 18 | - fs.watchFile(__filename, onchange); | ||
| 26 | + const w1 = fs.watchFile(file1, { interval: 10 }, onchange); | ||
| 19 | 27 | ||
| 20 | 28 | let as = hooks.activitiesOfTypes('STATWATCHER'); | |
| 21 | 29 | assert.strictEqual(as.length, 1); | |
@@ -28,7 +36,7 @@ checkInvocations(statwatcher1, { init: 1 }, | |||
| 28 | 36 | 'watcher1: when started to watch file'); | |
| 29 | 37 | ||
| 30 | 38 | // install second file watcher | |
| 31 | - fs.watchFile(commonPath, onchange); | ||
| 39 | + const w2 = fs.watchFile(file2, { interval: 10 }, onchange); | ||
| 32 | 40 | as = hooks.activitiesOfTypes('STATWATCHER'); | |
| 33 | 41 | assert.strictEqual(as.length, 2); | |
| 34 | 42 | ||
@@ -41,19 +49,29 @@ checkInvocations(statwatcher1, { init: 1 }, | |||
| 41 | 49 | checkInvocations(statwatcher2, { init: 1 }, | |
| 42 | 50 | 'watcher2: when started to watch second file'); | |
| 43 | 51 | ||
| 44 | - // remove first file watcher | ||
| 45 | - fs.unwatchFile(__filename); | ||
| 46 | - checkInvocations(statwatcher1, { init: 1, before: 1, after: 1 }, | ||
| 47 | - 'watcher1: when unwatched first file'); | ||
| 48 | - checkInvocations(statwatcher2, { init: 1 }, | ||
| 49 | - 'watcher2: when unwatched first file'); | ||
| 52 | + setTimeout(() => fs.writeFileSync(file1, 'foo++'), | ||
| 53 | + common.platformTimeout(100)); | ||
| 54 | + w1.once('change', common.mustCall(() => { | ||
| 55 | + setImmediate(() => { | ||
| 56 | + checkInvocations(statwatcher1, { init: 1, before: 1, after: 1 }, | ||
| 57 | + 'watcher1: when unwatched first file'); | ||
| 58 | + checkInvocations(statwatcher2, { init: 1 }, | ||
| 59 | + 'watcher2: when unwatched first file'); | ||
| 50 | 60 | ||
| 51 | - // remove second file watcher | ||
| 52 | - fs.unwatchFile(commonPath); | ||
| 53 | - checkInvocations(statwatcher1, { init: 1, before: 1, after: 1 }, | ||
| 54 | - 'watcher1: when unwatched second file'); | ||
| 55 | - checkInvocations(statwatcher2, { init: 1, before: 1, after: 1 }, | ||
| 56 | - 'watcher2: when unwatched second file'); | ||
| 61 | + setTimeout(() => fs.writeFileSync(file2, 'bar++'), | ||
| 62 | + common.platformTimeout(100)); | ||
| 63 | + w2.once('change', common.mustCall(() => { | ||
| 64 | + setImmediate(() => { | ||
| 65 | + checkInvocations(statwatcher1, { init: 1, before: 1, after: 1 }, | ||
| 66 | + 'watcher1: when unwatched second file'); | ||
| 67 | + checkInvocations(statwatcher2, { init: 1, before: 1, after: 1 }, | ||
| 68 | + 'watcher2: when unwatched second file'); | ||
| 69 | + fs.unwatchFile(file1); | ||
| 70 | + fs.unwatchFile(file2); | ||
| 71 | + }); | ||
| 72 | + })); | ||
| 73 | + }); | ||
| 74 | + })); | ||
| 57 | 75 | ||
| 58 | 76 | process.on('exit', onexit); | |
| 59 | 77 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments