From e884f7ec240252519871191b1f42bc05fc13941b Mon Sep 17 00:00:00 2001 From: Ben Kelly Date: Mon, 1 Feb 2016 12:29:40 -0800 Subject: [PATCH] Bug 1244122 P2 Perform refresh testing with http cache disabled. r=ehsan --- .../serviceworkers/browser_force_refresh.js | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/dom/workers/test/serviceworkers/browser_force_refresh.js b/dom/workers/test/serviceworkers/browser_force_refresh.js index 5f235f6f5fa4..e8fc77653f91 100644 --- a/dom/workers/test/serviceworkers/browser_force_refresh.js +++ b/dom/workers/test/serviceworkers/browser_force_refresh.js @@ -30,7 +30,9 @@ function test() { ['dom.serviceWorkers.exemptFromPerDomainMax', true], ['dom.serviceWorkers.testing.enabled', true], ['dom.serviceWorkers.interception.enabled', true], - ['dom.caches.enabled', true]]}, + ['dom.caches.enabled', true], + ['browser.cache.disk.enable', false], + ['browser.cache.memory.enable', false]]}, function() { var url = gTestRoot + 'browser_base_force_refresh.html'; var tab = gBrowser.addTab(); @@ -39,24 +41,37 @@ function test() { tab.linkedBrowser.messageManager.loadFrameScript("data:,(" + encodeURIComponent(frameScript) + ")()", true); gBrowser.loadURI(url); + function done() { + tab.linkedBrowser.messageManager.removeMessageListener("test:event", eventHandler); + + gBrowser.removeTab(tab); + executeSoon(finish); + } + var cachedLoad = false; + var baseLoadCount = 0; function eventHandler(msg) { if (msg.data.type === 'base-load') { + baseLoadCount += 1; if (cachedLoad) { - tab.linkedBrowser.messageManager.removeMessageListener("test:event", eventHandler); - - gBrowser.removeTab(tab); - executeSoon(finish); + is(baseLoadCount, 2, 'cached load should occur before second base load'); + return done(); + } + if (baseLoadCount !== 1) { + ok(false, 'base load without cached load should only occur once'); + return done(); } } else if (msg.data.type === 'base-register') { ok(!cachedLoad, 'cached load should not occur before base register'); - refresh(); + is(baseLoadCount, 1, 'register should occur after first base load'); } else if (msg.data.type === 'base-sw-ready') { ok(!cachedLoad, 'cached load should not occur before base ready'); + is(baseLoadCount, 1, 'ready should occur after first base load'); refresh(); } else if (msg.data.type === 'cached-load') { ok(!cachedLoad, 'cached load should not occur twice'); + is(baseLoadCount, 1, 'cache load occur after first base load'); cachedLoad = true; forceRefresh(); }