| 'use strict'; |
| const common = require('../common'); |
| |
| // This test checks that the `stop` event is emitted asynchronously. |
| // |
| // If it isn't asynchronous, then the listener will be called during the |
| // execution of `watch.stop()`. That would be a bug. |
| // |
| // If it is asynchronous, then the listener will be removed before the event is |
| // emitted. |
| |
| const fs = require('fs'); |
| |
| const listener = common.mustNotCall( |
| 'listener should have been removed before the event was emitted' |
| ); |
| |
| const watch = fs.watchFile(__filename, common.mustNotCall()); |
| watch.once('stop', listener); |
| watch.stop(); |
| watch.removeListener('stop', listener); |