%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const assert = require('assert'); const path = require('path'); const fs = require('fs'); const tmpdir = require('../common/tmpdir'); const testDir = tmpdir.path; const filenameOne = 'watch.txt'; tmpdir.refresh(); const testsubdir = fs.mkdtempSync(testDir + path.sep); const relativePathOne = path.join(path.basename(testsubdir), filenameOne); const filepathOne = path.join(testsubdir, filenameOne); if (!common.isOSX && !common.isWindows) { assert.throws(() => { fs.watch(testDir, { recursive: true }); }, { code: 'ERR_FEATURE_UNAVAILABLE_ON_PLATFORM' }); return; } const watcher = fs.watch(testDir, { recursive: true }); let watcherClosed = false; watcher.on('change', function(event, filename) { assert.ok(event === 'change' || event === 'rename'); // Ignore stale events generated by mkdir and other tests if (filename !== relativePathOne) return; if (common.isOSX) { clearInterval(interval); } watcher.close(); watcherClosed = true; }); let interval; if (common.isOSX) { interval = setInterval(function() { fs.writeFileSync(filepathOne, 'world'); }, 10); } else { fs.writeFileSync(filepathOne, 'world'); } process.on('exit', function() { assert(watcherClosed, 'watcher Object was not closed'); });