summaryrefslogtreecommitdiff
path: root/tests/node_compat/test/parallel/test-stream-writable-ended-state.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/node_compat/test/parallel/test-stream-writable-ended-state.js')
-rw-r--r--tests/node_compat/test/parallel/test-stream-writable-ended-state.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/node_compat/test/parallel/test-stream-writable-ended-state.js b/tests/node_compat/test/parallel/test-stream-writable-ended-state.js
new file mode 100644
index 000000000..f6f6971a2
--- /dev/null
+++ b/tests/node_compat/test/parallel/test-stream-writable-ended-state.js
@@ -0,0 +1,39 @@
+// 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 stream = require('stream');
+
+const writable = new stream.Writable();
+
+writable._write = (chunk, encoding, cb) => {
+ assert.strictEqual(writable._writableState.ended, false);
+ assert.strictEqual(writable._writableState.writable, undefined);
+ assert.strictEqual(writable.writableEnded, false);
+ cb();
+};
+
+assert.strictEqual(writable._writableState.ended, false);
+assert.strictEqual(writable._writableState.writable, undefined);
+assert.strictEqual(writable.writable, true);
+assert.strictEqual(writable.writableEnded, false);
+
+writable.end('testing ended state', common.mustCall(() => {
+ assert.strictEqual(writable._writableState.ended, true);
+ assert.strictEqual(writable._writableState.writable, undefined);
+ assert.strictEqual(writable.writable, false);
+ assert.strictEqual(writable.writableEnded, true);
+}));
+
+assert.strictEqual(writable._writableState.ended, true);
+assert.strictEqual(writable._writableState.writable, undefined);
+assert.strictEqual(writable.writable, false);
+assert.strictEqual(writable.writableEnded, true);