1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-25 08:39:09 -05:00
denoland-deno/cli/tests/node_compat/test/parallel/test-fs-write-stream-double-close.js

54 lines
1.1 KiB
JavaScript
Raw Normal View History

// deno-fmt-ignore-file
// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 18.12.1
// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually.
'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());
}