node/test/parallel/test-fs-write-stream.js
Rich Trott 7c79490bfb test: only refresh tmpDir for tests that need it
Expose `common.refreshTmpDir()` and only call it
for tests that use common.tmpDir or common.PIPE.

A positive side effect is the removal of a code
smell where child processes were detected by the
presence of `.send()`. Now each process can decide
for itself if it needs to refresh tmpDir.

PR-URL: https://github.com/nodejs/io.js/pull/1954
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-13 22:27:17 -07:00

33 lines
707 B
JavaScript

'use strict';
var common = require('../common');
var assert = require('assert');
var path = require('path'),
fs = require('fs');
var file = path.join(common.tmpDir, 'write.txt');
common.refreshTmpDir();
(function() {
var stream = fs.WriteStream(file),
_fs_close = fs.close;
fs.close = function(fd) {
assert.ok(fd, 'fs.close must not be called without an undefined fd.');
fs.close = _fs_close;
};
stream.destroy();
})();
(function() {
var stream = fs.createWriteStream(file);
stream.on('drain', function() {
assert.fail('\'drain\' event must not be emitted before ' +
'stream.write() has been called at least once.');
});
stream.destroy();
})();