summaryrefslogtreecommitdiffstats
path: root/LayoutTests/http/tests/appcache/online-whitelist.html
diff options
context:
space:
mode:
Diffstat (limited to 'LayoutTests/http/tests/appcache/online-whitelist.html')
-rw-r--r--LayoutTests/http/tests/appcache/online-whitelist.html77
1 files changed, 77 insertions, 0 deletions
diff --git a/LayoutTests/http/tests/appcache/online-whitelist.html b/LayoutTests/http/tests/appcache/online-whitelist.html
new file mode 100644
index 0000000..f33fb6d
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/online-whitelist.html
@@ -0,0 +1,77 @@
+<html manifest="resources/online-whitelist.manifest">
+<body>
+<p>Test online whitelist functionality. Should say PASS:</p>
+
+<div id="result"></div>
+<script>
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText()
+ layoutTestController.waitUntilDone();
+}
+
+function log(message)
+{
+ document.getElementById("result").innerHTML += message + "<br>";
+}
+
+var hadError = false;
+
+function canLoad(url)
+{
+ try {
+ var req = new XMLHttpRequest();
+ req.open("GET", url, false);
+ req.send("");
+ return true;
+ } catch (e) {
+ return false;
+ }
+}
+
+function load(url)
+{
+ try {
+ var req = new XMLHttpRequest();
+ req.open("GET", url, false);
+ req.send("");
+ return req.responseText;
+ } catch (ex) {
+ alert("Unexpected error loading " + url + ": " + ex);
+ hadError = true;
+ }
+}
+
+function test()
+{
+ if (load("resources/counter.php?cached") != load("resources/counter.php?cached")) {
+ log("FAIL: Explicit entry didn't override online whitelist.");
+ hadError = true;
+ }
+
+ if (load("resources/counter.php?uncached") == load("resources/counter.php?uncached")) {
+ log("FAIL: Online whitelist resource wasn't reloaded from network.");
+ hadError = true;
+ }
+
+ if (load("resources/counter.php?uncachedxxx") == load("resources/counter.php?uncachedxxx")) {
+ log("FAIL: Online whitelist resource wasn't reloaded from network (prefix matching).");
+ hadError = true;
+ }
+
+ if (canLoad("resources/counter.php?foobar")) {
+ log("FAIL: Uncached resource was successfully loaded.");
+ hadError = true;
+ }
+
+ log(hadError ? "FAIL" : "PASS");
+
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+applicationCache.addEventListener('cached', test, false);
+applicationCache.addEventListener('noupdate', test, false);
+
+</script>
+</body>
+</html>