diff --git a/src/browser/tests/streams/text_decoder_stream.html b/src/browser/tests/streams/text_decoder_stream.html index 37bae8b4..cf38a2fd 100644 --- a/src/browser/tests/streams/text_decoder_stream.html +++ b/src/browser/tests/streams/text_decoder_stream.html @@ -59,3 +59,24 @@ testing.expectEqual(true, result2.done); })(); + + diff --git a/src/browser/webapi/encoding/TextDecoderStream.zig b/src/browser/webapi/encoding/TextDecoderStream.zig index 2c4605ed..2ba1e501 100644 --- a/src/browser/webapi/encoding/TextDecoderStream.zig +++ b/src/browser/webapi/encoding/TextDecoderStream.zig @@ -65,6 +65,9 @@ fn decodeTransform(controller: *TransformStream.DefaultController, chunk: js.Val input = input[3..]; } + // Per spec, empty chunks produce no output + if (input.len == 0) return; + try controller.enqueue(.{ .string = input }); }