-
Notifications
You must be signed in to change notification settings - Fork 30k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: update WPT resources, common, streams, FileAPI, broadcastchannel
PR-URL: #46912 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
- Loading branch information
Showing
108 changed files
with
2,076 additions
and
5,276 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 59 additions & 0 deletions
59
test/fixtures/wpt/FileAPI/Blob-methods-from-detached-frame.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
<!DOCTYPE html> | ||
<meta charset="utf-8"> | ||
<title>Blob methods from detached frame work as expected</title> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
|
||
<iframe id="emptyDocumentIframe" src="../support/empty-document.html"></iframe> | ||
|
||
<script> | ||
const BlobPrototypeFromDetachedFramePromise = new Promise(resolve => { | ||
emptyDocumentIframe.onload = () => { | ||
const BlobPrototype = emptyDocumentIframe.contentWindow.Blob.prototype; | ||
emptyDocumentIframe.remove(); | ||
resolve(BlobPrototype); | ||
}; | ||
}); | ||
|
||
const charCodeArrayToString = charCodeArray => Array.from(charCodeArray, c => String.fromCharCode(c)).join(""); | ||
const charCodeBufferToString = charCodeBuffer => charCodeArrayToString(new Uint8Array(charCodeBuffer)); | ||
|
||
promise_test(async () => { | ||
const { slice } = await BlobPrototypeFromDetachedFramePromise; | ||
const blob = new Blob(["foobar"]); | ||
|
||
const slicedBlob = slice.call(blob, 1, 3); | ||
assert_true(slicedBlob instanceof Blob); | ||
|
||
assert_equals(await slicedBlob.text(), "oo"); | ||
assert_equals(charCodeBufferToString(await slicedBlob.arrayBuffer()), "oo"); | ||
|
||
const reader = slicedBlob.stream().getReader(); | ||
const { value } = await reader.read(); | ||
assert_equals(charCodeArrayToString(value), "oo"); | ||
}, "slice()"); | ||
|
||
promise_test(async () => { | ||
const { text } = await BlobPrototypeFromDetachedFramePromise; | ||
const blob = new Blob(["foo"]); | ||
|
||
assert_equals(await text.call(blob), "foo"); | ||
}, "text()"); | ||
|
||
promise_test(async () => { | ||
const { arrayBuffer } = await BlobPrototypeFromDetachedFramePromise; | ||
const blob = new Blob(["bar"]); | ||
|
||
const charCodeBuffer = await arrayBuffer.call(blob); | ||
assert_equals(charCodeBufferToString(charCodeBuffer), "bar"); | ||
}, "arrayBuffer()"); | ||
|
||
promise_test(async () => { | ||
const { stream } = await BlobPrototypeFromDetachedFramePromise; | ||
const blob = new Blob(["baz"]); | ||
|
||
const reader = stream.call(blob).getReader(); | ||
const { value } = await reader.read(); | ||
assert_equals(charCodeArrayToString(value), "baz"); | ||
}, "stream()"); | ||
</script> |
Oops, something went wrong.