Use dumpJSConsoleLogInStdErr=true webkit-test-runner option for non-imported tests...
[WebKit-https.git] / LayoutTests / http / tests / appcache / fail-on-update.html
1 <!-- webkit-test-runner [ dumpJSConsoleLogInStdErr=true ] -->
2 <html manifest="resources/fail-on-update.php">
3 <script>
4 if (window.testRunner) {
5     testRunner.dumpAsText();
6     testRunner.waitUntilDone();
7 }
8
9 function setManifestDeleted(state)
10 {
11     var req = new XMLHttpRequest;
12     req.open("GET", "resources/fail-on-update.php?command=" + (state ? "delete" : "reset"), false);
13     req.send(null);
14 }
15
16 function test()
17 {
18     clearTimeout(timeoutId);
19
20     setManifestDeleted(true);
21     applicationCache.update();
22     window.location = 'data:text/html,<p>SUCCESS: No crash.</p>' + 
23         '<script>' +
24             'if (window.testRunner) testRunner.notifyDone();' +
25         '</scri' + 'pt>';
26 }
27
28 function resetManifest()
29 {
30     if (applicationCache.status != applicationCache.UNCACHED && applicationCache.status != applicationCache.OBSOLETE) {
31         timeoutId = setTimeout(resetManifest, 100);
32         return;
33     }
34
35     setManifestDeleted(false);
36     location.reload();
37 }
38
39 applicationCache.addEventListener('noupdate', function() { setTimeout(test, 0) }, false);
40 applicationCache.addEventListener('cached', function() { setTimeout(test, 0) }, false);
41
42 // If the manifest script happened to be in a wrong state, reset it.
43 var timeoutId = setTimeout(resetManifest, 100);
44
45 </script>
46 <p>Test for a particular incorrect assertion failure.</p>
47
48 </html>