LibWeb/FileAPI: Implement FileReader readAsBinaryString

This commit is contained in:
Shannon Booth 2025-01-24 00:32:30 +13:00 committed by Sam Atkins
commit eca68aad88
Notes: github-actions[bot] 2025-01-28 11:40:38 +00:00
4 changed files with 50 additions and 2 deletions

View file

@ -0,0 +1,15 @@
<!doctype html>
<meta charset=utf-8>
<title>FileAPI Test: filereader_readAsBinaryString</title>
<script>
self.GLOBAL = {
isWindow: function() { return true; },
isWorker: function() { return false; },
isShadowRealm: function() { return false; },
};
</script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id=log></div>
<script src="../../FileAPI/reading-data-section/filereader_readAsBinaryString.any.js"></script>

View file

@ -0,0 +1,23 @@
// META: title=FileAPI Test: filereader_readAsBinaryString
async_test(t => {
const blob = new Blob(["σ"]);
const reader = new FileReader();
reader.onload = t.step_func_done(() => {
assert_equals(typeof reader.result, "string", "The result is string");
assert_equals(reader.result.length, 2, "The result length is 2");
assert_equals(reader.result, "\xcf\x83", "The result is \xcf\x83");
assert_equals(reader.readyState, reader.DONE);
});
reader.onloadstart = t.step_func(() => {
assert_equals(reader.readyState, reader.LOADING);
});
reader.onprogress = t.step_func(() => {
assert_equals(reader.readyState, reader.LOADING);
});
reader.readAsBinaryString(blob);
});