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