summaryrefslogtreecommitdiffstats
path: root/dom/cache/test/mochitest/test_cache_add.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/cache/test/mochitest/test_cache_add.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/cache/test/mochitest/test_cache_add.js')
-rw-r--r--dom/cache/test/mochitest/test_cache_add.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/dom/cache/test/mochitest/test_cache_add.js b/dom/cache/test/mochitest/test_cache_add.js
new file mode 100644
index 000000000..0719f1a10
--- /dev/null
+++ b/dom/cache/test/mochitest/test_cache_add.js
@@ -0,0 +1,55 @@
+var singleUrl = './test_cache_add.js';
+var urlList = [
+ './empty.html',
+ './frame.html',
+ './test_cache.js'
+];
+var cache;
+var name = "adder" + context;
+caches.open(name).then(function(openCache) {
+ cache = openCache;
+ return cache.add('ftp://example.com/invalid' + context);
+}).catch(function (err) {
+ is(err.name, 'TypeError', 'add() should throw TypeError for invalid scheme');
+ return cache.addAll(['http://example.com/valid' + context, 'ftp://example.com/invalid' + context]);
+}).catch(function (err) {
+ is(err.name, 'TypeError', 'addAll() should throw TypeError for invalid scheme');
+ var promiseList = urlList.map(function(url) {
+ return cache.match(url);
+ });
+ promiseList.push(cache.match(singleUrl));
+ return Promise.all(promiseList);
+}).then(function(resultList) {
+ is(urlList.length + 1, resultList.length, 'Expected number of results');
+ resultList.every(function(result) {
+ is(undefined, result, 'URLs should not already be in the cache');
+ });
+ return cache.add(singleUrl);
+}).then(function(result) {
+ is(undefined, result, 'Successful add() should resolve undefined');
+ return cache.addAll(urlList);
+}).then(function(result) {
+ is(undefined, result, 'Successful addAll() should resolve undefined');
+ var promiseList = urlList.map(function(url) {
+ return cache.match(url);
+ });
+ promiseList.push(cache.match(singleUrl));
+ return Promise.all(promiseList);
+}).then(function(resultList) {
+ is(urlList.length + 1, resultList.length, 'Expected number of results');
+ resultList.every(function(result) {
+ ok(!!result, 'Responses should now be in cache for each URL.');
+ });
+ return cache.matchAll();
+}).then(function(resultList) {
+ is(urlList.length + 1, resultList.length, 'Expected number of results');
+ resultList.every(function(result) {
+ ok(!!result, 'Responses should now be in cache for each URL.');
+ });
+ return caches.delete(name);
+}).then(function() {
+ testDone();
+}).catch(function(err) {
+ ok(false, 'Caught error: ' + err);
+ testDone();
+});