fix(op_crate/web): fix atob to throw spec aligned DOMException (#8798)

This commit is contained in:
gorogoroumaru 2021-01-11 07:15:32 +09:00 committed by GitHub
parent 1a6ce29f3d
commit b0821fe9ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 1 deletions

View file

@ -50,6 +50,21 @@ unitTest(function atobThrows2(): void {
assert(threw);
});
unitTest(function atobThrows3(): void {
let threw = false;
try {
atob("foobar!!");
} catch (e) {
if (
e instanceof DOMException &&
e.toString().startsWith("InvalidCharacterError:")
) {
threw = true;
}
}
assert(threw);
});
unitTest(function btoaFailed(): void {
const text = "你好";
assertThrows(() => {

View file

@ -105,7 +105,7 @@
if (rem === 1 || /[^+/0-9A-Za-z]/.test(s)) {
throw new DOMException(
"The string to be decoded is not correctly encoded",
"DataDecodeError",
"InvalidCharacterError",
);
}