���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /proc/self/root/home/real/node-v13.0.1/test/parallel/ |
'use strict'; // This test is a bit more complicated than it ideally needs to be to work // around issues on OS X and SmartOS. // // On OS X, watch events are subject to peculiar timing oddities such that an // event might fire out of order. The synchronous refreshing of the tmp // directory might trigger an event on the watchers that are instantiated after // it! // // On SmartOS, the watch events fire but the filename is null. const common = require('../common'); // fs-watch on folders have limited capability in AIX. // The testcase makes use of folder watching, and causes // hang. This behavior is documented. Skip this for AIX. if (common.isAIX) common.skip('folder watch capability is limited in AIX.'); const fs = require('fs'); const path = require('path'); const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); const fn = '新建文夹件.txt'; const a = path.join(tmpdir.path, fn); const watchers = new Set(); function registerWatcher(watcher) { watchers.add(watcher); } function unregisterWatcher(watcher) { watcher.close(); watchers.delete(watcher); if (watchers.size === 0) { clearInterval(interval); } } { // Test that using the `encoding` option has the expected result. const watcher = fs.watch( tmpdir.path, { encoding: 'hex' }, (event, filename) => { if (['e696b0e5bbbae69687e5a4b9e4bbb62e747874', null].includes(filename)) done(watcher); } ); registerWatcher(watcher); } { // Test that in absence of `encoding` option has the expected result. const watcher = fs.watch( tmpdir.path, (event, filename) => { if ([fn, null].includes(filename)) done(watcher); } ); registerWatcher(watcher); } { // Test that using the `encoding` option has the expected result. const watcher = fs.watch( tmpdir.path, { encoding: 'buffer' }, (event, filename) => { if (filename instanceof Buffer && filename.toString('utf8') === fn) done(watcher); else if (filename === null) done(watcher); } ); registerWatcher(watcher); } const done = common.mustCall(unregisterWatcher, watchers.size); // OS X and perhaps other systems can have surprising race conditions with // file events. So repeat the operation in case it is missed the first time. const interval = setInterval(() => { const fd = fs.openSync(a, 'w+'); fs.closeSync(fd); fs.unlinkSync(a); }, common.platformTimeout(100));