1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 11:17:43 +00:00

LibWeb: Add TextEncoder encodeInto

This commit is contained in:
Bastiaan van der Plaat 2023-10-06 07:03:44 +02:00 committed by Andreas Kling
parent f1ead552ce
commit 0104225d9b
9 changed files with 123 additions and 10 deletions

View file

@ -0,0 +1,12 @@
<script src="../include.js"></script>
<script>
test(() => {
try {
let decoder = new TextDecoder("utf-8");
println(`[${decoder.decode(new Uint8Array([0x41, 0x42, 0x43]))}]`); // "ABC"
println(`[${decoder.decode()}]`);
} catch(e) {
println("ERROR: " + e.name + ": " + e.message);
}
});
</script>

View file

@ -0,0 +1,33 @@
<script src="../include.js"></script>
<script>
test(() => {
let testCounter = 1;
function testPart(part) {
println(`${testCounter++}. ${JSON.stringify(part())}`);
}
// 1. TextEncoder encode
testPart(() => new TextEncoder().encode('Well Hello Friends 😀!'));
// 2. TextEncoder encodeInto
testPart(() => {
const buffer = new Uint8Array(32);
new TextEncoder().encodeInto('Well Hello Friends 😀!', buffer);
return buffer
});
// 3. TextEncoder encodeInto result read
testPart(() => {
const buffer = new Uint8Array(32);
const result = new TextEncoder().encodeInto('Well Hello Friends 😀!', buffer);
return result.read;
});
// 3. TextEncoder encodeInto result written
testPart(() => {
const buffer = new Uint8Array(32);
const result = new TextEncoder().encodeInto('Well Hello Friends 😀!', buffer);
return result.written;
});
});
</script>