OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <title>Tests VTTRegionList functionality: length, operator[], and getRegionById(
).</title> |
3 <head> | 3 <script src="../../../resources/testharness.js"></script> |
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 4 <script src="../../../resources/testharnessreport.js"></script> |
| 5 <script> |
| 6 test(function() { |
| 7 var testTrack = document.createElement('track'); |
| 8 |
| 9 assert_equals(testTrack.track.mode, 'disabled'); |
| 10 assert_equals(testTrack.track.regions, null); |
5 | 11 |
6 <script src=../../media-file.js></script> | 12 testTrack.track.mode = 'hidden'; |
7 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 | 13 var regions = testTrack.track.regions; |
8 (Please avoid writing new tests using video-test.js) --> | |
9 <script src=../../video-test.js></script> | |
10 <script> | |
11 var testTrack; | |
12 var region; | |
13 var regions; | |
14 var updatedRegion; | |
15 | 14 |
16 function startTest() | 15 assert_true(regions instanceof VTTRegionList, 'instanceof'); |
17 { | |
18 testTrack = document.getElementsByTagName('track')[0]; | |
19 | 16 |
20 consoleWrite("<br>** Implicit mode disabled and the regions attribut
e is null **"); | 17 assert_equals(regions.length, 0); |
21 testExpected("testTrack.track.mode", "disabled"); | |
22 testExpected("testTrack.track.regions", null); | |
23 | 18 |
24 testTrack.track.mode = "hidden"; | 19 var region = new VTTRegion(); |
25 regions = testTrack.track.regions; | 20 region.id = 'TestId'; |
26 | 21 |
27 consoleWrite("<br>** Test instanceof VTTRegionList **"); | 22 assert_equals(region.track, null); |
28 testExpected("regions instanceof VTTRegionList", true); | |
29 | 23 |
30 consoleWrite("<br>** The regions attribute should be an empty VTTReg
ionList **"); | 24 testTrack.track.addRegion(region); |
31 testExpected("regions != null", true); | |
32 testExpected("regions.length", 0); | |
33 | 25 |
34 region = new VTTRegion(); | 26 assert_equals(regions.length, 1); |
35 region.id = "TestId"; | 27 assert_equals(regions[0], region); |
| 28 assert_equals(regions[0].track, testTrack.track); |
36 | 29 |
37 consoleWrite("<br>** The default value of the track attribute of the
region is null**"); | 30 assert_equals(region.track, testTrack.track); |
38 testExpected("region.track", null); | |
39 | 31 |
40 testTrack.track.addRegion(region); | 32 var updatedRegion = new VTTRegion(); |
| 33 updatedRegion.id = region.id; |
| 34 updatedRegion.viewportAnchorX = 59; |
| 35 updatedRegion.viewportAnchorY = 68; |
| 36 updatedRegion.regionAnchorX = 20; |
| 37 updatedRegion.regionAnchorY = 30; |
| 38 updatedRegion.height = 5; |
| 39 updatedRegion.width = 87; |
| 40 updatedRegion.scroll = 'up'; |
41 | 41 |
42 consoleWrite("<br>** The addRegion() method properly updates the VTT
RegionList object **"); | 42 testTrack.track.addRegion(updatedRegion); |
43 testExpected("regions.length", 1); | 43 assert_equals(regions[0].viewportAnchorX, updatedRegion.viewportAnchorX); |
44 testExpected("regions[0] == region", true); | 44 assert_equals(regions[0].viewportAnchorY, updatedRegion.viewportAnchorY); |
45 testExpected("regions[0].track == testTrack.track", true); | 45 assert_equals(regions[0].regionAnchorX, updatedRegion.regionAnchorX); |
| 46 assert_equals(regions[0].regionAnchorY, updatedRegion.regionAnchorY); |
| 47 assert_equals(regions[0].height, updatedRegion.height); |
| 48 assert_equals(regions[0].width, updatedRegion.width); |
| 49 assert_equals(regions[0].scroll, updatedRegion.scroll); |
46 | 50 |
47 consoleWrite("<br>** The track attribute should correctly reflect th
e track to which the region was added to**"); | 51 assert_not_equals(regions[0], updatedRegion); |
48 testExpected("region.track == testTrack.track", true); | |
49 | 52 |
50 updatedRegion = new VTTRegion(); | 53 testTrack.track.addRegion(region); |
51 updatedRegion.id = region.id; | 54 assert_equals(regions.length, 1); |
52 updatedRegion.viewportAnchorX = 59; | 55 testTrack.track.removeRegion(region); |
53 updatedRegion.viewportAnchorY = 68; | 56 assert_equals(regions.length, 0); |
54 updatedRegion.regionAnchorX = 20; | |
55 updatedRegion.regionAnchorY = 30; | |
56 updatedRegion.height = 5; | |
57 updatedRegion.width = 87; | |
58 updatedRegion.scroll = "up"; | |
59 | 57 |
60 consoleWrite("<br>** Adding a region with an existing id should upda
te the existing region **"); | 58 assert_throws('NotFoundError', function() { testTrack.track.removeRegion(reg
ion); }); |
61 testTrack.track.addRegion(updatedRegion); | |
62 testExpected("regions[0].viewportAnchorX", updatedRegion.viewportAnc
horX); | |
63 testExpected("regions[0].viewportAnchorY", updatedRegion.viewportAnc
horY); | |
64 testExpected("regions[0].regionAnchorX", updatedRegion.regionAnchorX
); | |
65 testExpected("regions[0].regionAnchorY", updatedRegion.regionAnchorY
); | |
66 testExpected("regions[0].height", updatedRegion.height); | |
67 testExpected("regions[0].width", updatedRegion.width); | |
68 testExpected("regions[0].scroll", updatedRegion.scroll); | |
69 | 59 |
70 testExpected("regions[0] != updatedRegion", true); | 60 // FIXME(109818): Update test for multiple initial regions (after parsing is
supported). |
71 | 61 }); |
72 consoleWrite("<br>** Add the region back and check if removeRegion()
removes it properly **"); | 62 </script> |
73 testTrack.track.addRegion(region); | |
74 testExpected("regions.length", 1); | |
75 testTrack.track.removeRegion(region); | |
76 testExpected("regions.length", 0); | |
77 | |
78 consoleWrite("<br>** In case the region is not found, NotFoundError
should be thrown **"); | |
79 try { | |
80 testTrack.track.removeRegion(region); | |
81 } catch(e) { | |
82 consoleWrite(e); | |
83 } | |
84 | |
85 // FIXME(109818): Update test for multiple initial regions (after pa
rsing is supported). | |
86 | |
87 consoleWrite(""); | |
88 endTest(); | |
89 } | |
90 | |
91 function startTestWithDelay() | |
92 { | |
93 setTimeout(startTest, 100); | |
94 } | |
95 </script> | |
96 </head> | |
97 <body onload="startTestWithDelay()"> | |
98 <p>Tests VTTRegionList functionality: length, operator[], and getRegionB
yId()</p> | |
99 <video> | |
100 <track id="testTrack" src="captions-webvtt/captions-fast.vtt"> | |
101 </video> | |
102 </body> | |
103 </html> | 63 </html> |
OLD | NEW |