diff options
Diffstat (limited to 'dom/cache/test/mochitest/test_chrome_constructor.html')
-rw-r--r-- | dom/cache/test/mochitest/test_chrome_constructor.html | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/dom/cache/test/mochitest/test_chrome_constructor.html b/dom/cache/test/mochitest/test_chrome_constructor.html new file mode 100644 index 000000000..1951c655f --- /dev/null +++ b/dom/cache/test/mochitest/test_chrome_constructor.html @@ -0,0 +1,44 @@ +<!-- Any copyright is dedicated to the Public Domain. + - http://creativecommons.org/publicdomain/zero/1.0/ --> +<!DOCTYPE HTML> +<html> +<head> + <title>Validate Interfaces Exposed to Workers</title> + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<script class="testbody" type="text/javascript"> + SimpleTest.waitForExplicitFinish(); + + SpecialPowers.pushPrefEnv({ + "set": [["dom.caches.enabled", true], + ["dom.caches.testing.enabled", true]], + }, function() { + // attach to a different origin's CacheStorage + var url = 'http://example.com/'; + var storage = SpecialPowers.createChromeCache('content', url); + + // verify we can use the other origin's CacheStorage as normal + var req = new Request('http://example.com/index.html'); + var res = new Response('hello world'); + var cache; + storage.open('foo').then(function(c) { + cache = c; + ok(cache, 'storage should create cache'); + return cache.put(req, res.clone()); + }).then(function() { + return cache.match(req); + }).then(function(foundResponse) { + return Promise.all([res.text(), foundResponse.text()]); + }).then(function(results) { + is(results[0], results[1], 'cache should contain response'); + return storage.delete('foo'); + }).then(function(deleted) { + ok(deleted, 'storage should delete cache'); + SimpleTest.finish(); + }); + }); +</script> +</body> +</html> |