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'; |
|||
|
|||
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 watch = fs.watchFile(__filename, common.noop); |
|||
watch.once('stop', assert.fail); // Should not trigger.
|
|||
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', assert.fail); |
|||
watch.removeListener('stop', listener); |
|||
|
Loading…
Reference in new issue