mirror of https://github.com/lukechilds/node.git
Browse Source
* format test per project guide * use listener that emits clear message * use common.mustNotCall() to confirm different listener is not invoked * add comment describing the test PR-URL: https://github.com/nodejs/node/pull/13689 Reviewed-By: David Cai <davidcai1993@yahoo.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>v6
Rich Trott
8 years ago
1 changed files with 16 additions and 5 deletions
@ -1,10 +1,21 @@ |
|||||
'use strict'; |
'use strict'; |
||||
|
|
||||
const common = require('../common'); |
const common = require('../common'); |
||||
const assert = require('assert'); |
|
||||
|
// 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 fs = require('fs'); |
||||
|
|
||||
const watch = fs.watchFile(__filename, common.noop); |
const listener = common.mustNotCall( |
||||
watch.once('stop', assert.fail); // Should not trigger.
|
'listener should have been removed before the event was emitted' |
||||
|
); |
||||
|
|
||||
|
const watch = fs.watchFile(__filename, common.mustNotCall()); |
||||
|
watch.once('stop', listener); |
||||
watch.stop(); |
watch.stop(); |
||||
watch.removeListener('stop', assert.fail); |
watch.removeListener('stop', listener); |
||||
|
Loading…
Reference in new issue