| <html manifest="resources/progress-counter.manifest"> |
| <script> |
| if (window.layoutTestController) { |
| layoutTestController.dumpAsText() |
| layoutTestController.waitUntilDone(); |
| } |
| |
| var expectedTotal = 2 |
| var eventsReceived = 0; |
| |
| function done() { |
| if (window.layoutTestController) |
| layoutTestController.notifyDone(); |
| } |
| |
| function progress(event) |
| { |
| if (!event.lengthComputable) { |
| document.getElementById('result').innerHTML = "FAILURE: expected progressEvent.lengthComputable to be true"; |
| done(); |
| return; |
| } |
| if (event.total != expectedTotal) { |
| document.getElementById('result').innerHTML = "FAILURE: expected progressEvent.total to be " + expectedTotal + " but was " + event.total; |
| done(); |
| return; |
| } |
| if (event.loaded != eventsReceived) { |
| document.getElementById('result').innerHTML = "FAILURE: expected progressEvent.loaded to be " + eventsReceived + " but was " + event.loaded; |
| done(); |
| return; |
| } |
| eventsReceived++; |
| } |
| |
| function cached() |
| { |
| if (eventsReceived != 3) { |
| document.getElementById('result').innerHTML = "FAILURE: expected 3 progress events, but got " + eventsReceived; |
| done(); |
| return; |
| } |
| |
| document.getElementById('result').innerHTML = "SUCCESS"; |
| done(); |
| } |
| |
| function noupdate() |
| { |
| document.getElementById('result').innerHTML = "FAILURE: unable to conduct test since the appcache already exists, please remove the appcache and try again"; |
| done(); |
| } |
| |
| applicationCache.addEventListener('cached', cached, false); |
| applicationCache.addEventListener('noupdate', noupdate, false); |
| applicationCache.addEventListener('progress', progress, false); |
| |
| </script> |
| <div>This tests that the lengthComputable / loaded / total properties of the progress event are set correctly.</div> |
| |
| <div id="result">FAILURE</div> |
| </html> |