11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_ci
31cb0ef41Sopenharmony_ciconst common = require('../common');
41cb0ef41Sopenharmony_ci
51cb0ef41Sopenharmony_ciconst assert = require('assert');
61cb0ef41Sopenharmony_ciconst stream = require('stream');
71cb0ef41Sopenharmony_ci
81cb0ef41Sopenharmony_ciconst writable = new stream.Writable();
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_ciwritable._write = (chunk, encoding, cb) => {
111cb0ef41Sopenharmony_ci  assert.strictEqual(writable._writableState.ended, false);
121cb0ef41Sopenharmony_ci  assert.strictEqual(writable._writableState.writable, undefined);
131cb0ef41Sopenharmony_ci  assert.strictEqual(writable.writableEnded, false);
141cb0ef41Sopenharmony_ci  cb();
151cb0ef41Sopenharmony_ci};
161cb0ef41Sopenharmony_ci
171cb0ef41Sopenharmony_ciassert.strictEqual(writable._writableState.ended, false);
181cb0ef41Sopenharmony_ciassert.strictEqual(writable._writableState.writable, undefined);
191cb0ef41Sopenharmony_ciassert.strictEqual(writable.writable, true);
201cb0ef41Sopenharmony_ciassert.strictEqual(writable.writableEnded, false);
211cb0ef41Sopenharmony_ci
221cb0ef41Sopenharmony_ciwritable.end('testing ended state', common.mustCall(() => {
231cb0ef41Sopenharmony_ci  assert.strictEqual(writable._writableState.ended, true);
241cb0ef41Sopenharmony_ci  assert.strictEqual(writable._writableState.writable, undefined);
251cb0ef41Sopenharmony_ci  assert.strictEqual(writable.writable, false);
261cb0ef41Sopenharmony_ci  assert.strictEqual(writable.writableEnded, true);
271cb0ef41Sopenharmony_ci}));
281cb0ef41Sopenharmony_ci
291cb0ef41Sopenharmony_ciassert.strictEqual(writable._writableState.ended, true);
301cb0ef41Sopenharmony_ciassert.strictEqual(writable._writableState.writable, undefined);
311cb0ef41Sopenharmony_ciassert.strictEqual(writable.writable, false);
321cb0ef41Sopenharmony_ciassert.strictEqual(writable.writableEnded, true);
33