tizen beta release
[profile/ivi/webkit-efl.git] / LayoutTests / fast / events / constructors / track-event-constructor.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4     <script src="../../js/resources/js-test-pre.js"></script>
5 </head>
6
7 <body>
8     <script>
9
10         window.jsTestIsAsync = true;
11
12         description("This tests the constructor for the TrackEvent DOM class.");
13
14         function test()
15         {
16             // Make sure the track actually loaded.
17             shouldBe("trackElement.track.readyState", "TextTrack.LOADED", true);
18
19             debug("<br>*** No initializer passed ***");
20             shouldBe("new TrackEvent('TrackEvent').bubbles", "false");
21             shouldBe("new TrackEvent('TrackEvent').cancelable", "false");
22             shouldBeNull("new TrackEvent('TrackEvent').track");
23     
24             debug("<br>*** Bubbles and cancelable true, track is missing ***");
25             shouldBe("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true }).bubbles", "true");
26             shouldBe("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true }).cancelable", "true");
27             shouldBeNull("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true }).track");
28     
29             debug("<br>*** Bubbles and cancelable true, invalid track ***");
30             shouldBe("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).bubbles", "true");
31             shouldBe("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).cancelable", "true");
32             shouldBeNull("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).track");
33     
34             debug("<br>*** Initialize 'track' with a invalid values ***");
35             shouldBeNull("new TrackEvent('TrackEvent', { track: 10 }).track");
36             shouldBeNull("new TrackEvent('TrackEvent', { track: \'string\' }).track");
37             emptyObject = { };
38             shouldBeNull("new TrackEvent('TrackEvent', { track: emptyObject }).track");
39             shouldBeNull("new TrackEvent('TrackEvent', { track: document }).track");
40
41             debug("<br>*** Bubbles and cancelable true, valid track ***");
42             shouldBe("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).bubbles", "true");
43             shouldBe("new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).cancelable", "true");
44             shouldBe("new TrackEvent('TrackEvent', { track: trackElement.track }).track", "trackElement.track");
45
46             debug("<br>*** Initialize 'track' with valid track object ***");
47             shouldBe("new TrackEvent('TrackEvent', { track: trackElement.track }).track", "trackElement.track");
48
49             debug("");
50             finishJSTest();
51         }
52
53         video = document.createElement('video');
54         document.body.appendChild(video);
55
56         trackElement = document.createElement('track');
57         video.appendChild(trackElement);
58         trackElement.addEventListener('load', test);
59         trackElement.src='data:text/vtt,WEBVTT FILE \r\r1\r00:00:00.000 --> 00:00:30.500\ronly one caption';
60
61     </script>
62     <script src="../../js/resources/js-test-post.js"></script>
63
64 </body>
65 </html>