summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/fetch/test_readableStreams.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/fetch/test_readableStreams.html')
-rw-r--r--dom/tests/mochitest/fetch/test_readableStreams.html86
1 files changed, 86 insertions, 0 deletions
diff --git a/dom/tests/mochitest/fetch/test_readableStreams.html b/dom/tests/mochitest/fetch/test_readableStreams.html
new file mode 100644
index 0000000000..1731aa8bae
--- /dev/null
+++ b/dom/tests/mochitest/fetch/test_readableStreams.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Test for ReadableStreams and Fetch</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="common_readableStreams.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+ <script type="application/javascript">
+
+async function tests() {
+ await SpecialPowers.pushPrefEnv({
+ "set": [["dom.caches.enabled", true],
+ ["dom.caches.testing.enabled", true],
+ ["dom.quotaManager.testing", true]]
+ });
+
+ await test_nativeStream(SAME_COMPARTMENT);
+ await test_nativeStream(IFRAME_COMPARTMENT);
+ await workify('test_nativeStream');
+
+ await test_timeout(SAME_COMPARTMENT);
+ await test_timeout(IFRAME_COMPARTMENT);
+ await workify('test_timeout');
+
+ await test_nonNativeStream(SAME_COMPARTMENT);
+ await test_nonNativeStream(IFRAME_COMPARTMENT);
+ await workify('test_nonNativeStream');
+
+ await test_pendingStream(SAME_COMPARTMENT);
+ await test_pendingStream(IFRAME_COMPARTMENT);
+ await workify('test_pendingStream');
+
+ await test_noUint8Array(SAME_COMPARTMENT);
+ await test_noUint8Array(IFRAME_COMPARTMENT);
+ await workify('test_noUint8Array');
+
+ // Bug 1746646: Make mochitests work with TCP enabled (cookieBehavior = 5)
+ // Acquire storage access permission here so that the cache works in xorigin
+ // tests. Otherwise, the iframe containing this page is isolated from
+ // first-party storage access, which isolates the caches object.
+ if (isXOrigin) {
+ SpecialPowers.wrap(document).notifyUserGestureActivation();
+ await SpecialPowers.addPermission(
+ "storageAccessAPI",
+ true,
+ window.location.href
+ );
+ await SpecialPowers.wrap(document).requestStorageAccess();
+ }
+
+ await test_nativeStream_cache(SAME_COMPARTMENT);
+ await test_nativeStream_cache(IFRAME_COMPARTMENT);
+ await workify('test_nativeStream_cache');
+
+ await test_nonNativeStream_cache(SAME_COMPARTMENT);
+ await test_nonNativeStream_cache(IFRAME_COMPARTMENT);
+ await workify('test_nonNativeStream_cache');
+
+ await test_codeExecution(SAME_COMPARTMENT);
+ await test_codeExecution(IFRAME_COMPARTMENT);
+
+ await test_global(SAME_COMPARTMENT);
+ await test_global(IFRAME_COMPARTMENT);
+ await workify('test_global');
+}
+
+async function runTests() {
+ try {
+ await tests();
+ } catch (exc) {
+ ok(false, exc.toString());
+ } finally {
+ SimpleTest.finish();
+ }
+}
+
+SimpleTest.waitForExplicitFinish();
+// The iframe starts the tests by calling parent.next() when it loads.
+ </script>
+ <iframe src="iframe_readableStreams.html" id="iframe"></iframe>
+</body>
+</html>
+