summaryrefslogtreecommitdiffstats
path: root/LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html-disabled
diff options
context:
space:
mode:
Diffstat (limited to 'LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html-disabled')
-rw-r--r--LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html-disabled119
1 files changed, 119 insertions, 0 deletions
diff --git a/LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html-disabled b/LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html-disabled
new file mode 100644
index 0000000..ed6e599
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html-disabled
@@ -0,0 +1,119 @@
+<body>
+<p>Test the behavior of DOMApplicationCache methods related to dynamic entries when the context
+is not associated with any cache.</p>
+<div id="result"></div>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+function log(message)
+{
+ document.getElementById("result").innerHTML += message + "<br>";
+}
+
+
+function isResultCorrect(_actual, _expected)
+{
+ if (_expected === 0)
+ return _actual === _expected && (1/_actual) === (1/_expected);
+ if (_actual === _expected)
+ return true;
+ if (typeof(_expected) == "number" && isNaN(_expected))
+ return typeof(_actual) == "number" && isNaN(_actual);
+ if (Object.prototype.toString.call(_expected) == Object.prototype.toString.call([])) {
+ log("Array comparison is not supported");
+ return false;
+ }
+ return false;
+}
+
+function shouldBe(_a, _b)
+{
+ if (typeof _a != "string" || typeof _b != "string")
+ log("WARN: shouldBe() expects string arguments");
+ var exception;
+ var _av;
+ try {
+ _av = eval(_a);
+ } catch (e) {
+ exception = e;
+ }
+ var _bv = eval(_b);
+
+ if (exception)
+ log("FAIL: " + _a + " should be " + _bv + ". Threw exception " + exception);
+ else if (isResultCorrect(_av, _bv))
+ log("PASS: " + _a + " is " + _b);
+ else if (typeof(_av) == typeof(_bv))
+ log("FAIL: " + _a + " should be " + _bv + ". Was " + stringify(_av) + ".");
+ else
+ log("FAIL: " + _a + " should be " + _bv + " (of type " + typeof _bv + "). Was " + _av + " (of type " + typeof _av + ").");
+}
+
+
+shouldBe("applicationCache.items.length", "0");
+shouldBe("applicationCache.items.item(0)", "null");
+shouldBe("applicationCache.items.item(1)", "null");
+shouldBe("applicationCache.items.item(0xffffffff)", "null");
+shouldBe("applicationCache.items.item(0xfffffffe)", "null");
+shouldBe("applicationCache.items.item(-1)", "null");
+shouldBe("applicationCache.items.item(-2)", "null");
+
+shouldBe("applicationCache.items[0xfffffffe]", "undefined");
+shouldBe("applicationCache.items[0xffffffff]", "undefined");
+
+// The below index access tests give different results in WebKit and Firefox 3.1b2 (undefined vs. empty string).
+shouldBe("applicationCache.items['0']", "undefined");
+shouldBe("applicationCache.items['']", "undefined");
+shouldBe("applicationCache.items[0]", "undefined");
+shouldBe("applicationCache.items[1]", "undefined");
+shouldBe("applicationCache.items[-1]", "undefined");
+shouldBe("applicationCache.items[-2]", "undefined");
+applicationCache.items[100] = "foobar";
+applicationCache.items['100'] = "foobar";
+applicationCache.items['foo'] = "bar";
+shouldBe("applicationCache.items[100]", "undefined");
+shouldBe("applicationCache.items['100']", "undefined");
+
+shouldBe("applicationCache.items['foo']", "undefined");
+shouldBe("applicationCache.items[0.1]", "undefined");
+
+try {
+ applicationCache.hasItem('foo');
+ log("FAIL: hasItem didn't raise an exception");
+} catch (ex) {
+ if (ex.code == 11)
+ log("PASS: hasItem raised INVALID_STATE_ERR");
+ else
+ log("FAIL: hasItem raised unexpected exception " + ex);
+}
+
+try {
+ applicationCache.add('foo');
+ log("FAIL: add didn't raise an exception");
+} catch (ex) {
+ if (ex.code == 11)
+ log("PASS: add raised INVALID_STATE_ERR");
+ else
+ log("FAIL: add raised unexpected exception " + ex);
+}
+
+try {
+ applicationCache.remove('bar');
+ log("FAIL: remove didn't raise an exception");
+} catch (ex) {
+ if (ex.code == 11)
+ log("PASS: remove raised INVALID_STATE_ERR");
+ else
+ log("FAIL: remove raised unexpected exception " + ex);
+}
+
+shouldBe("applicationCache.items.length", "0");
+
+
+
+log("DONE");
+
+</script>
+</head>
+</body>