mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 05:39:11 +00:00
LibJS: Fix base64 decoder typo
As the comments suggest, _ is supposed to be translated into / but - is translated twice instead
This commit is contained in:
parent
84ad36de06
commit
0cc8ba305d
Notes:
github-actions[bot]
2024-10-23 23:48:11 +00:00
Author: https://github.com/shlyakpavel 🔰
Commit: 0cc8ba305d
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1922
Reviewed-by: https://github.com/trflynn89 ✅
2 changed files with 20 additions and 1 deletions
|
@ -729,7 +729,7 @@ DecodeResult from_base64(VM& vm, StringView string, Alphabet alphabet, LastChunk
|
|||
ch = '+';
|
||||
}
|
||||
// iii. Else if char is "_", then
|
||||
else if (ch == '-') {
|
||||
else if (ch == '_') {
|
||||
// 1. Set char to "/".
|
||||
ch = '/';
|
||||
}
|
||||
|
|
|
@ -108,6 +108,25 @@ describe("correct behavior", () => {
|
|||
|
||||
decodeEqual("8J-kkw==", "🤓", options);
|
||||
decodeEqual("8J-kk2Zvb_CflpY=", "🤓foo🖖", options);
|
||||
|
||||
decodeEqual("b2g_", "oh?", options);
|
||||
});
|
||||
|
||||
test("strict mode with base64url alphabet", () => {
|
||||
const options = { alphabet: "base64url", lastChunkHandling: "strict" };
|
||||
|
||||
decodeEqual("", "", options);
|
||||
decodeEqual("Zg==", "f", options);
|
||||
decodeEqual("Zm8=", "fo", options);
|
||||
decodeEqual("Zm9v", "foo", options);
|
||||
decodeEqual("Zm9vYg==", "foob", options);
|
||||
decodeEqual("Zm9vYmE=", "fooba", options);
|
||||
decodeEqual("Zm9vYmFy", "foobar", options);
|
||||
|
||||
decodeEqual("8J-kkw==", "🤓", options);
|
||||
decodeEqual("8J-kk2Zvb_CflpY=", "🤓foo🖖", options);
|
||||
|
||||
decodeEqual("b2g_", "oh?", options);
|
||||
});
|
||||
|
||||
test("stop-before-partial lastChunkHandling", () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue