| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('assert'); |
| const fs = require('fs'); |
| const path = require('path'); |
| |
| const tmpdir = require('../common/tmpdir'); |
| tmpdir.refresh(); |
| |
| { |
| const s = fs.createWriteStream(path.join(tmpdir.path, 'rw')); |
| |
| s.close(common.mustCall()); |
| s.close(common.mustCall()); |
| } |
| |
| { |
| const s = fs.createWriteStream(path.join(tmpdir.path, 'rw2')); |
| |
| let emits = 0; |
| s.on('close', () => { |
| emits++; |
| }); |
| |
| s.close(common.mustCall(() => { |
| assert.strictEqual(emits, 1); |
| s.close(common.mustCall(() => { |
| assert.strictEqual(emits, 1); |
| })); |
| process.nextTick(() => { |
| s.close(common.mustCall(() => { |
| assert.strictEqual(emits, 1); |
| })); |
| }); |
| })); |
| } |
| |
| { |
| const s = fs.createWriteStream(path.join(tmpdir.path, 'rw'), { |
| autoClose: false |
| }); |
| |
| s.close(common.mustCall()); |
| s.close(common.mustCall()); |
| } |