diff --git a/js/text_encoding.ts b/js/text_encoding.ts index 364a0f0200..a9d0d74b18 100644 --- a/js/text_encoding.ts +++ b/js/text_encoding.ts @@ -442,6 +442,9 @@ export class TextDecoder { return codePointsToString(output); } + get [Symbol.toStringTag]() { + return "TextDecoder"; + } } export class TextEncoder { @@ -467,4 +470,7 @@ export class TextEncoder { return new Uint8Array(output); } + get [Symbol.toStringTag]() { + return "TextEncoder"; + } } diff --git a/js/text_encoding_test.ts b/js/text_encoding_test.ts index 0799b1c3e4..d33537b4f2 100644 --- a/js/text_encoding_test.ts +++ b/js/text_encoding_test.ts @@ -91,3 +91,11 @@ test(function textDecoderSharedInt32Array() { const actual = decoder.decode(i32); assertEquals(actual, "ABCDEFGH"); }); + +test(function toStringShouldBeWebCompatibility() { + const encoder = new TextEncoder(); + assertEquals(encoder.toString(), "[object TextEncoder]"); + + const decoder = new TextDecoder(); + assertEquals(decoder.toString(), "[object TextDecoder]"); +});