diff --git a/src/modules/child_process.c b/src/modules/child_process.c index 124b7aa..12e6a6c 100644 --- a/src/modules/child_process.c +++ b/src/modules/child_process.c @@ -906,7 +906,8 @@ static ant_value_t create_child_stream_object(ant_t *js, child_process_t *cp, ch js_set(js, obj, "destroy", js_mkfun(child_stream_destroy)); js_set(js, obj, "setEncoding", js_mkfun(child_stream_set_encoding)); js_set(js, obj, "length", js_mknum(0)); - js_set(js, obj, "readableEncoding", js_mkundef()); + js_set(js, obj, "encoding", js_mknull()); + js_set(js, obj, "readableEncoding", js_mknull()); if (kind == CHILD_STREAM_STDIN) { js_set(js, obj, "write", js_mkfun(child_stream_write)); diff --git a/tests/test_child_process_stream_setencoding.cjs b/tests/test_child_process_stream_setencoding.cjs index 6cd1cb0..0bce539 100644 --- a/tests/test_child_process_stream_setencoding.cjs +++ b/tests/test_child_process_stream_setencoding.cjs @@ -11,6 +11,8 @@ const child = spawn(process.execPath, [ assert(child.stdout && typeof child.stdout.setEncoding === 'function', 'child.stdout.setEncoding should exist'); assert(child.stderr && typeof child.stderr.setEncoding === 'function', 'child.stderr.setEncoding should exist'); +assert(child.stdout.readableEncoding === null, 'stdout readableEncoding should start as null'); +assert(child.stderr.readableEncoding === null, 'stderr readableEncoding should start as null'); assert(child.stdout.setEncoding('utf8') === child.stdout, 'stdout.setEncoding should return stdout'); assert(child.stderr.setEncoding('utf8') === child.stderr, 'stderr.setEncoding should return stderr'); assert(child.stdout.readableEncoding === 'utf8', 'stdout readableEncoding should be utf8');