Title: [95639] trunk/LayoutTests
Revision
95639
Author
ann...@chromium.org
Date
2011-09-21 09:27:30 -0700 (Wed, 21 Sep 2011)

Log Message

New layout tests for the JS bindings related to <track>:
    e.g. TextTrack, TextTrackCue, TextTrackCueList, MutableTextTrack.
https://bugs.webkit.org/show_bug.cgi?id=68194

Reviewed by Eric Carlson.

* media/track/track-mutable-expected.txt: Added.
* media/track/track-mutable.html: Added.
* media/track/track-text-track-cue-list-expected.txt: Added.
* media/track/track-text-track-cue-list.html: Added.
* media/track/track-text-track-expected.txt: Added.
* media/track/track-text-track.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (95638 => 95639)


--- trunk/LayoutTests/ChangeLog	2011-09-21 16:19:54 UTC (rev 95638)
+++ trunk/LayoutTests/ChangeLog	2011-09-21 16:27:30 UTC (rev 95639)
@@ -1,3 +1,18 @@
+2011-09-21  Anna Cavender  <ann...@chromium.org>
+
+        New layout tests for the JS bindings related to <track>:
+            e.g. TextTrack, TextTrackCue, TextTrackCueList, MutableTextTrack.
+        https://bugs.webkit.org/show_bug.cgi?id=68194
+
+        Reviewed by Eric Carlson.
+
+        * media/track/track-mutable-expected.txt: Added.
+        * media/track/track-mutable.html: Added.
+        * media/track/track-text-track-cue-list-expected.txt: Added.
+        * media/track/track-text-track-cue-list.html: Added.
+        * media/track/track-text-track-expected.txt: Added.
+        * media/track/track-text-track.html: Added.
+
 2011-09-21  Balazs Kelemen  <kbal...@webkit.org>
 
         [Qt][WK2] plugins/mouse-click-iframe-to-plugin.html fails since enabled in r95626

Added: trunk/LayoutTests/media/track/track-mutable-expected.txt (0 => 95639)


--- trunk/LayoutTests/media/track/track-mutable-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-mutable-expected.txt	2011-09-21 16:27:30 UTC (rev 95639)
@@ -0,0 +1,36 @@
+Tests MutableTextTrack functionality: addTrack(), addCue(), and removeCue().
+
+
+*** Testing addTrack()
+RUN(track = video.addTrack("captions", "Mutable Captions Tract", "en"))
+EXPECTED (video.textTracks.length == '1') OK
+
+RUN(video.addTrack("subtitles"))
+EXPECTED (video.textTracks.length == '2') OK
+
+*** Testing addCue()
+EXPECTED (track.cues.length == '0') OK
+RUN(track.addCue("junk"))
+EXPECTED (track.cues.length == '0') OK
+
+RUN(track.addCue(new TextTrackCue("1", 1.2, 3.4, "Cue #1")))
+EXPECTED (track.cues.length == '1') OK
+
+RUN(track.addCue(new TextTrackCue("2", 5.6, 7.8, "Cue #2", "A:middle T:50%", true)))
+EXPECTED (track.cues.length == '2') OK
+EXPECTED (track.cues[0].getCueAsSource() == 'Cue #1') OK
+EXPECTED (track.cues[1].getCueAsSource() == 'Cue #2') OK
+EXPECTED (track.cues[1].pauseOnExit == 'true') OK
+
+*** Testing removeCue()
+RUN(track.removeCue(track.cues[1]))
+EXPECTED (track.cues.length == '1') OK
+EXPECTED (track.cues[0].getCueAsSource() == 'Cue #1') OK
+
+RUN(track.removeCue(new TextTrackCue()))
+EXPECTED (track.cues.length == '1') OK
+
+RUN(track.removeCue(track.cues[0]))
+EXPECTED (track.cues.length == '0') OK
+END OF TEST
+

Added: trunk/LayoutTests/media/track/track-mutable.html (0 => 95639)


--- trunk/LayoutTests/media/track/track-mutable.html	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-mutable.html	2011-09-21 16:27:30 UTC (rev 95639)
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+        <script src=""
+        <script src=""
+        <script>            
+            
+            function startTest()
+            {
+                findMediaElement();
+
+                consoleWrite("<br>*** Testing addTrack()");
+                
+                run("track = video.addTrack(\"captions\", \"Mutable Captions Tract\", \"en\")");
+                testExpected("video.textTracks.length", 1);
+                consoleWrite("");
+                run("video.addTrack(\"subtitles\")");
+                testExpected("video.textTracks.length", 2);
+                
+                consoleWrite("<br>*** Testing addCue()");
+
+                testExpected("track.cues.length", 0);
+                run("track.addCue(\"junk\")");
+                testExpected("track.cues.length", 0);
+                consoleWrite("");
+                run("track.addCue(new TextTrackCue(\"1\", 1.2, 3.4, \"Cue #1\"))");
+                testExpected("track.cues.length", 1);
+                consoleWrite("");
+                run("track.addCue(new TextTrackCue(\"2\", 5.6, 7.8, \"Cue #2\", \"A:middle T:50%\", true))");
+                testExpected("track.cues.length", 2);
+                testExpected("track.cues[0].getCueAsSource()", "Cue #1");
+                testExpected("track.cues[1].getCueAsSource()", "Cue #2");
+                testExpected("track.cues[1].pauseOnExit", true);
+                
+                consoleWrite("<br>*** Testing removeCue()");
+
+                run("track.removeCue(track.cues[1])");
+                testExpected("track.cues.length", 1);
+                testExpected("track.cues[0].getCueAsSource()", "Cue #1");
+                consoleWrite("");
+                run("track.removeCue(new TextTrackCue())");
+                testExpected("track.cues.length", 1);
+                consoleWrite("");
+                run("track.removeCue(track.cues[0])");
+                testExpected("track.cues.length", 0);                
+                
+                endTest();
+            }
+            
+        </script>
+    </head>
+    <body _onload_="startTest()">
+        <p>Tests MutableTextTrack functionality: addTrack(), addCue(), and removeCue().</p>
+        <video></video>
+    </body>
+</html>
\ No newline at end of file

Added: trunk/LayoutTests/media/track/track-text-track-cue-list-expected.txt (0 => 95639)


--- trunk/LayoutTests/media/track/track-text-track-cue-list-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-text-track-cue-list-expected.txt	2011-09-21 16:27:30 UTC (rev 95639)
@@ -0,0 +1,17 @@
+Tests TextTrackCueList functionality: length, operator[], and getCueById()
+
+
+*** Testing TextTrackCueList length
+EXPECTED (cues.length == '4') OK
+
+*** Testing TextTrackCueList [] operator
+EXPECTED (cues[0].id == '1') OK
+EXPECTED (cues[3].id == '4') OK
+EXPECTED (cues[4] == 'undefined') OK
+
+*** Testing TextTrackCueList getCueById()
+EXPECTED (cues.getCueById('1').startTime == '0') OK
+EXPECTED (cues.getCueById('4').startTime == '121') OK
+EXPECTED (cues.getCueById('junk') == 'undefined') OK
+END OF TEST
+

Added: trunk/LayoutTests/media/track/track-text-track-cue-list.html (0 => 95639)


--- trunk/LayoutTests/media/track/track-text-track-cue-list.html	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-text-track-cue-list.html	2011-09-21 16:27:30 UTC (rev 95639)
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+        <script src=""
+        <script src=""
+        <script>            
+            
+            function trackLoaded()
+            {
+                cues = testTrack.track.cues;
+
+                consoleWrite("<br>*** Testing TextTrackCueList length");
+                
+                testExpected("cues.length", 4);
+
+                consoleWrite("<br>*** Testing TextTrackCueList [] operator");
+                
+                testExpected("cues[0].id", "1");
+                testExpected("cues[3].id", "4");
+                testExpected("cues[4]", undefined);
+                
+                consoleWrite("<br>*** Testing TextTrackCueList getCueById()");                                                
+
+                testExpected("cues.getCueById('1').startTime", 0);
+                testExpected("cues.getCueById('4').startTime", 121);
+                testExpected("cues.getCueById('junk')", undefined);
+                                
+                endTest();
+            }
+            
+        </script>
+    </head>
+    <body>
+        <p>Tests TextTrackCueList functionality: length, operator[], and getCueById()</p>
+        <video>
+            <track id="testTrack" src="" kind="captions" _onload_="trackLoaded()">
+        </video>
+    </body>
+</html>
\ No newline at end of file

Added: trunk/LayoutTests/media/track/track-text-track-expected.txt (0 => 95639)


--- trunk/LayoutTests/media/track/track-text-track-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-text-track-expected.txt	2011-09-21 16:27:30 UTC (rev 95639)
@@ -0,0 +1,35 @@
+Tests TextTrack functionality: kind, label, language, and cues.
+
+EXPECTED (tracks.length == '5') OK
+
+*** Testing text track 0
+EXPECTED (track.kind == 'captions') OK
+EXPECTED (track.label == 'English Captions') OK
+EXPECTED (track.language == 'en') OK
+EXPECTED (track.cues.length == '4') OK
+
+*** Testing text track 1
+EXPECTED (track.kind == 'subtitles') OK
+EXPECTED (track.label == 'French Subtitles') OK
+EXPECTED (track.language == 'fr') OK
+EXPECTED (track.cues.length == '4') OK
+
+*** Testing text track 2
+EXPECTED (track.kind == 'chapters') OK
+EXPECTED (track.label == 'Chapter Tree') OK
+EXPECTED (track.language == 'en') OK
+EXPECTED (track.cues.length == '4') OK
+
+*** Testing text track 3
+EXPECTED (track.kind == 'descriptions') OK
+EXPECTED (track.label == '') OK
+EXPECTED (track.language == 'en') OK
+EXPECTED (track.cues.length == '4') OK
+
+*** Testing text track 4
+EXPECTED (track.kind == 'metadata') OK
+EXPECTED (track.label == '') OK
+EXPECTED (track.language == '') OK
+EXPECTED (track.cues.length == '4') OK
+END OF TEST
+

Added: trunk/LayoutTests/media/track/track-text-track.html (0 => 95639)


--- trunk/LayoutTests/media/track/track-text-track.html	                        (rev 0)
+++ trunk/LayoutTests/media/track/track-text-track.html	2011-09-21 16:27:30 UTC (rev 95639)
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+        <script src=""
+        <script src=""
+        <script>            
+            
+            numberOfTrackTests = 5;
+            
+            function trackLoaded()
+            {
+                numberOfTracksLoaded++;
+                if (numberOfTracksLoaded == numberOfTrackTests) {
+                    testAllTracks();
+                }
+            }
+            
+            function testAllTracks()
+            {
+                findMediaElement();
+                var expected = 
+                {
+                    length : 5,
+                    tests:
+                    [
+                        {
+                            property : "kind",
+                            values : ["captions", "subtitles", "chapters", "descriptions", "metadata"],
+                        },
+                        {
+                            property : "label",
+                            values : ["English Captions", "French Subtitles", "Chapter Tree", "", ""],
+                        },
+                        {
+                            property : "language",
+                            values : ["en", "fr", "en", "en", ""],
+                        },
+                        {
+                            property : "cues.length",
+                            values : [4, 4, 4, 4, 4],
+                        },
+                    ],
+                };
+                testTracks(expected);
+
+                endTest();
+            }
+            
+        </script>
+    </head>
+    <body>
+        <p>Tests TextTrack functionality: kind, label, language, and cues.</p>
+        <video>
+            <track src="" _onload_="trackLoaded()" 
+                kind="captions" label="English Captions" srclang="en">
+            <track src="" _onload_="trackLoaded()"
+                kind="subtitles" label="French Subtitles" srclang="fr">
+            <track src="" _onload_="trackLoaded()"
+                kind="chapters" label="Chapter Tree" srclang="en">
+            <track src="" _onload_="trackLoaded()"
+                kind="descriptions" label="" srclang="en">
+            <track src="" _onload_="trackLoaded()"
+                kind="metadata" label="" srclang="">
+        </video>
+    </body>
+</html>
\ No newline at end of file
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to