summaryrefslogtreecommitdiffstats
path: root/dom/base/test/test_blob_fragment_and_query.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/test_blob_fragment_and_query.html')
-rw-r--r--dom/base/test/test_blob_fragment_and_query.html59
1 files changed, 59 insertions, 0 deletions
diff --git a/dom/base/test/test_blob_fragment_and_query.html b/dom/base/test/test_blob_fragment_and_query.html
new file mode 100644
index 000000000..bc454e69c
--- /dev/null
+++ b/dom/base/test/test_blob_fragment_and_query.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Test for Blob URI with fragments</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+ <script>
+
+var blob = new Blob(['hello world']);
+ok(blob, "We have a blob.");
+
+var tests = [
+ { part: "", revoke: true },
+ { part: "?aa", revoke: false },
+ { part: "#bb", revoke: false },
+ { part: "?cc#dd", revoke: false },
+ { part: "#ee?ff", revoke: false }
+];
+
+function runTest() {
+ if (!tests.length) {
+ SimpleTest.finish();
+ return;
+ }
+
+ var url = URL.createObjectURL(blob);
+ ok(url, "We have a URI");
+
+ var test = tests.shift();
+
+ URL.revokeObjectURL(url + test.part);
+
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url + test.part);
+
+ xhr.onload = function() {
+ is(xhr.responseText, 'hello world', 'URL: ' + url + test.part);
+ runTest();
+ }
+
+ try {
+ xhr.send();
+ } catch(e) {
+ ok(test.revoke, "This should fail!");
+ runTest();
+ return;
+ }
+ ok(!test.revoke, "This should succeed!");
+}
+
+SimpleTest.waitForExplicitFinish();
+runTest();
+
+ </script>
+</body>
+</html>