| <!DOCTYPE html> | |
| <html manifest="resources/video.manifest"> | |
| <head> | |
| <title>test media in the app cache</title> | |
| <style> | |
| video { background-color: yellow; width: 320px; height: 240px; } | |
| </style> | |
| <script src=/media-resources/media-file.js></script> | |
| <script src=/media-resources/video-test.js></script> | |
| <script> | |
| var test; | |
| function unexpectedEvent(event) | |
| { | |
| failTest(false, '<br>Unexpected "' + event.type + '" event!!'); | |
| } | |
| function errorEvent() | |
| { | |
| consoleWrite(""); | |
| switch(test) | |
| { | |
| case 1: | |
| failTest(false, "Failed loading file included in manifest!"); | |
| break; | |
| case 2: | |
| test3() | |
| break; | |
| case 3: | |
| endTest(); | |
| break; | |
| } | |
| } | |
| function durationchangeEvent() | |
| { | |
| switch(test) | |
| { | |
| case 1: | |
| test2(); | |
| break; | |
| case 2: | |
| failTest("<br>Loaded file NOT included in manifest!"); | |
| break; | |
| case 3: | |
| failTest("<br>Loaded JavaScript file as media!"); | |
| break; | |
| } | |
| } | |
| function test3() | |
| { | |
| consoleWrite("*** Setting 'src' to non-media file that is in manifest. This file should fail to load.<br>"); | |
| test = 3; | |
| video = document.getElementsByTagName('video')[0]; | |
| video.src = "/media-resources/media-file.js"; | |
| } | |
| function test2() | |
| { | |
| consoleWrite("<br>*** Setting 'src' to valid media file not in manifest. This file should fail to load.<br>"); | |
| test = 2; | |
| video = document.getElementsByTagName('video')[0]; | |
| video.src = "/media-resources/content/" + findMediaFile("audio", "silence"); | |
| } | |
| function test1() | |
| { | |
| consoleWrite("*** Setting 'src' to file specified in manifest. This file should load.<br>"); | |
| test = 1; | |
| waitForEvent('durationchange', durationchangeEvent); | |
| waitForEvent('error', errorEvent); | |
| video = document.getElementsByTagName('video')[0]; | |
| video.src = "/media-resources/content/" + findMediaFile("video", "test"); | |
| } | |
| function updateready(event) | |
| { | |
| applicationCache.swapCache(); | |
| test1(); | |
| } | |
| applicationCache.addEventListener("updateready", updateready, false); | |
| applicationCache.addEventListener("noupdate", test1, false); | |
| applicationCache.addEventListener("cached", test1, false); | |
| applicationCache.addEventListener("obsolete", unexpectedEvent, false); | |
| applicationCache.addEventListener("error", unexpectedEvent, false); | |
| </script> | |
| </head> | |
| <body> | |
| <video controls ></video> | |
| <p>Test that <video> can be loaded from the application cache.</p> | |
| </body> | |
| </html> | |