• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html manifest="resources/progress-counter.manifest">
2<script>
3if (window.layoutTestController) {
4    layoutTestController.dumpAsText()
5    layoutTestController.waitUntilDone();
6}
7
8var expectedTotal = 2
9var eventsReceived = 0;
10
11function done() {
12    if (window.layoutTestController)
13        layoutTestController.notifyDone();
14}
15
16function progress(event)
17{
18    if (!event.lengthComputable) {
19        document.getElementById('result').innerHTML = "FAILURE: expected progressEvent.lengthComputable to be true";
20        done();
21        return;
22    }
23    if (event.total != expectedTotal) {
24        document.getElementById('result').innerHTML = "FAILURE: expected progressEvent.total to be " + expectedTotal + " but was " + event.total;
25        done();
26        return;
27    }
28    if (event.loaded != eventsReceived) {
29        document.getElementById('result').innerHTML = "FAILURE: expected progressEvent.loaded to be " + eventsReceived + " but was " + event.loaded;
30        done();
31        return;
32    }
33    eventsReceived++;
34}
35
36function cached()
37{
38    if (eventsReceived != 3) {
39        document.getElementById('result').innerHTML = "FAILURE: expected 3 progress events, but got " + eventsReceived;
40        done();
41        return;
42    }
43
44    document.getElementById('result').innerHTML = "SUCCESS";
45    done();
46}
47
48function noupdate()
49{
50    document.getElementById('result').innerHTML = "FAILURE: unable to conduct test since the appcache already exists, please remove the appcache and try again";
51    done();
52}
53
54applicationCache.addEventListener('cached', cached, false);
55applicationCache.addEventListener('noupdate', noupdate, false);
56applicationCache.addEventListener('progress', progress, false);
57
58</script>
59<div>This tests that the lengthComputable / loaded / total properties of the progress event are set correctly.</div>
60
61<div id="result">FAILURE</div>
62</html>
63