Script: Implement TextEncoderStream (#38466)

This implements the `TextEncoderStream` WebIDL interface. 

Testing: Existing WPT tests should be sufficient
Fixes: #37724

---------

Signed-off-by: minghuaw <wuminghua7@huawei.com>
This commit is contained in:
minghuaw 2025-08-15 15:57:00 +08:00 committed by GitHub
parent f24f225db8
commit d409137e4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 476 additions and 228 deletions

View file

@ -2,121 +2,8 @@
expected: ERROR
[encode-utf8.any.html]
[encoding one string of UTF-8 should give one complete chunk]
expected: FAIL
[a character split between chunks should be correctly encoded]
expected: FAIL
[a character following one split between chunks should be correctly encoded]
expected: FAIL
[two consecutive astral characters each split down the middle should be correctly reassembled]
expected: FAIL
[two consecutive astral characters each split down the middle with an invalid surrogate in the middle should be correctly encoded]
expected: FAIL
[a stream ending in a leading surrogate should emit a replacement character as a final chunk]
expected: FAIL
[an unmatched surrogate at the end of a chunk followed by an astral character in the next chunk should be replaced with the replacement character at the start of the next output chunk]
expected: FAIL
[an unmatched surrogate at the end of a chunk followed by an ascii character in the next chunk should be replaced with the replacement character at the start of the next output chunk]
expected: FAIL
[an unmatched surrogate at the end of a chunk followed by a plane 1 character split into two chunks should result in the encoded plane 1 character appearing in the last output chunk]
expected: FAIL
[two leading chunks should result in two replacement characters]
expected: FAIL
[a non-terminal unpaired leading surrogate should immediately be replaced]
expected: FAIL
[a terminal unpaired trailing surrogate should immediately be replaced]
expected: FAIL
[a leading surrogate chunk should be carried past empty chunks]
expected: FAIL
[a leading surrogate chunk should error when it is clear it didn't form a pair]
expected: FAIL
[an empty string should result in no output chunk]
expected: FAIL
[a leading empty chunk should be ignored]
expected: FAIL
[a trailing empty chunk should be ignored]
expected: FAIL
[a plain ASCII chunk should be converted]
expected: FAIL
[characters in the ISO-8859-1 range should be encoded correctly]
expected: FAIL
[encode-utf8.any.sharedworker.html]
expected: ERROR
[encode-utf8.any.worker.html]
[encoding one string of UTF-8 should give one complete chunk]
expected: FAIL
[a character split between chunks should be correctly encoded]
expected: FAIL
[a character following one split between chunks should be correctly encoded]
expected: FAIL
[two consecutive astral characters each split down the middle should be correctly reassembled]
expected: FAIL
[two consecutive astral characters each split down the middle with an invalid surrogate in the middle should be correctly encoded]
expected: FAIL
[a stream ending in a leading surrogate should emit a replacement character as a final chunk]
expected: FAIL
[an unmatched surrogate at the end of a chunk followed by an astral character in the next chunk should be replaced with the replacement character at the start of the next output chunk]
expected: FAIL
[an unmatched surrogate at the end of a chunk followed by an ascii character in the next chunk should be replaced with the replacement character at the start of the next output chunk]
expected: FAIL
[an unmatched surrogate at the end of a chunk followed by a plane 1 character split into two chunks should result in the encoded plane 1 character appearing in the last output chunk]
expected: FAIL
[two leading chunks should result in two replacement characters]
expected: FAIL
[a non-terminal unpaired leading surrogate should immediately be replaced]
expected: FAIL
[a terminal unpaired trailing surrogate should immediately be replaced]
expected: FAIL
[a leading surrogate chunk should be carried past empty chunks]
expected: FAIL
[a leading surrogate chunk should error when it is clear it didn't form a pair]
expected: FAIL
[an empty string should result in no output chunk]
expected: FAIL
[a leading empty chunk should be ignored]
expected: FAIL
[a trailing empty chunk should be ignored]
expected: FAIL
[a plain ASCII chunk should be converted]
expected: FAIL
[characters in the ISO-8859-1 range should be encoded correctly]
expected: FAIL