[Webkit-unassigned] [Bug 28327] Media layout tests should have a way to provide test files in different formats
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Sep 8 15:44:10 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=28327
--- Comment #5 from Hin-Chung Lam <hclam at google.com> 2009-09-08 15:44:10 PDT ---
(In reply to comment #4)
> (From update of attachment 38997 [details])
> > +++ b/LayoutTests/media/controls-strict.html
> > +++ b/LayoutTests/media/controls-styling.html
> > +++ b/LayoutTests/media/video-aspect-ratio.html
> > +++ b/LayoutTests/media/video-controls-rendering.html
> > +++ b/LayoutTests/media/video-layer-crash.html
> > +++ b/LayoutTests/media/video-transformed.html
> > +++ b/LayoutTests/media/video-zoom-controls.html
>
> Passing the media file path to init() will only work as long as every pixel
> tests use a single media file. I think it would make more sense to add a
> function to each test file to set the src attribute for each video element
> before calling the existing init().
As far as I can tell, all tests that use init() are using the same test file:
test.mp4. If it makes more sense to you I can add two helper methods to
media-file.js:
// Sets src for all tags of name "tagName"
function setSrcByTagName(tagName, src)
// Sets src of tag of id "id"
function setSrcById(id, src)
>
> > +++ b/LayoutTests/media/media-file.js
>
> > +function findMediaFile(type, name) {
> > + var codecs;
> > + if (type == "audio")
> > + codecs = audioCodecs;
> > + else
> > + codecs = videoCodecs;
> > +
> > + var element = document.createElement(type);
> > + for (var i = 0; i < codecs.length; ++i) {
> > + if (element.canPlayType(codecs[i][0]))
> > + return name + "." + codecs[i][1];
> > + }
> > +
> > + return "";
> > +}
>
>
> It should be more efficient to call canPlayType() on an existing element if
> there is one. I would check to see if one exists before creating a new one.
>
>
> > --- a/LayoutTests/media/video-append-source.html
>
> > <script>
> > testExpected("video.currentSrc", "");
> > var source = document.createElement("source");
> > - source.setAttribute("src", "content/test.mp4");
> > + source.setAttribute("src", findMediaFile("video", "content/test"));
> > video.appendChild(source);
> >
> > testExpected("video.currentSrc", "");
> >
> > waitForEvent("load", function () {
> > - testExpected("relativeURL(video.currentSrc) ", "content/test.mp4");
> > + testExpected("relativeURL(video.currentSrc) ", findMediaFile("video", "content/test"));
> > endTest();
> > });
>
> 'findMediaFile("video", "content/test")' will always return the same result,
> you should only call it once.
>
> +++ b/LayoutTests/media/video-paint-test.js
> @@ -1,6 +1,11 @@
> -function init()
> +function init(videoFile)
> {
> - var totalCount = document.getElementsByTagName('video').length;
> + var videos = document.getElementsByTagName('video');
> + var totalCount = videos.length;
> + for (var i = 0; i < totalCount; ++i) {
> + videos[i].src = videoFile;
> + }
>
> These changes aren't necessary with the first suggestion above.
>
> r+ if you make these changes (or convince me they aren't necessary).
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list