Changeset 48494 in webkit


Ignore:
Timestamp:
Sep 17, 2009 3:48:32 PM (15 years ago)
Author:
eric@webkit.org
Message:

2009-09-17 Alpha Lam <hclam@chromium.org>

Reviewed by Eric Carlson.

Media layout tests should have a way to provide test files in different formats
https://bugs.webkit.org/show_bug.cgi?id=28327

Updating 19 media layout tests to use media files based on supported codecs.

  • media/media-file.js: Prefer .wav over other formats as this is used the most in tests for mac port. Most of audio tests use media/content/test.wav as test file for mac, so this change would make sure findMediaFile() will return test.wav but not test.mp3 or other formats. (setSrcById): Fixing bug in code.
  • media/video-canvas-source.html: Use findMediaFile() to locate a media file based on supported types.
  • media/video-click-dblckick-standalone.html: ditto.
  • media/video-controls-transformed.html: ditto.
  • media/video-controls-visible-audio-only.html: ditto.
  • media/video-controls-zoomed.html: ditto.
  • media/video-controls.html: ditto.
  • media/video-currentTime-set.html: ditto.
  • media/video-currentTime-set2.html: ditto.
  • media/video-currentTime.html: ditto.
  • media/video-display-none-crash.html: ditto.
  • media/video-display-toggle.html: ditto.
  • media/video-dom-autoplay.html: ditto.
  • media/video-dom-src.html: ditto.
  • media/video-error-abort.html: ditto.
  • media/video-load-networkState.html: ditto.
  • media/video-load-readyState.html: ditto.
  • media/video-loop.html: ditto.
  • media/video-muted.html: ditto.
  • media/video-no-autoplay.html: ditto.
Location:
trunk/LayoutTests
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r48489 r48494  
     12009-09-17  Alpha Lam  <hclam@chromium.org>
     2
     3        Reviewed by Eric Carlson.
     4
     5        Media layout tests should have a way to provide test files in different formats
     6        https://bugs.webkit.org/show_bug.cgi?id=28327
     7
     8        Updating 19 media layout tests to use media files based on supported codecs.
     9
     10        * media/media-file.js: Prefer .wav over other formats as this is used the most in tests for mac port.
     11        Most of audio tests use media/content/test.wav as test file for mac, so this change would make sure
     12        findMediaFile() will return test.wav but not test.mp3 or other formats.
     13        (setSrcById): Fixing bug in code.
     14        * media/video-canvas-source.html: Use findMediaFile() to locate a media file based on supported types.
     15        * media/video-click-dblckick-standalone.html: ditto.
     16        * media/video-controls-transformed.html: ditto.
     17        * media/video-controls-visible-audio-only.html: ditto.
     18        * media/video-controls-zoomed.html: ditto.
     19        * media/video-controls.html: ditto.
     20        * media/video-currentTime-set.html: ditto.
     21        * media/video-currentTime-set2.html: ditto.
     22        * media/video-currentTime.html: ditto.
     23        * media/video-display-none-crash.html: ditto.
     24        * media/video-display-toggle.html: ditto.
     25        * media/video-dom-autoplay.html: ditto.
     26        * media/video-dom-src.html: ditto.
     27        * media/video-error-abort.html: ditto.
     28        * media/video-load-networkState.html: ditto.
     29        * media/video-load-readyState.html: ditto.
     30        * media/video-loop.html: ditto.
     31        * media/video-muted.html: ditto.
     32        * media/video-no-autoplay.html: ditto.
     33
    1342009-09-17  Simon Fraser  <simon.fraser@apple.com>
    235
  • trunk/LayoutTests/media/media-file.js

    r48237 r48494  
    11var audioCodecs = [
     2    ["audio/wav", "wav"],
    23    ["audio/aac", "m4a"],
    34    ["audio/mpeg", "mp3"],
    4     ["audio/wav", "wav"],
    5     ["audio/ogg", "ogg"]
     5    ["audio/ogg", "oga"]
    66];
    77
     
    1010    ["video/mpeg", "mpg"],
    1111    ["video/quicktime", "mov"],
    12     ["video/ogg", "ogg"]
     12    ["video/ogg", "ogv"]
    1313];
    1414
     
    2020        codecs = videoCodecs;
    2121
    22     var element;
    23     try {
    24         element = document.getElementsByTagName(tagName)[0];
    25     } catch (ex) {
     22    var element = document.getElementsByTagName(tagName)[0];
     23    if (!element)
    2624        element = document.createElement(tagName);
    27     }
    2825
    2926    for (var i = 0; i < codecs.length; ++i) {
     
    4643    var element = document.getElementById(id);
    4744    if (element)
    48         id.src = src;
     45        element.src = src;
    4946}
  • trunk/LayoutTests/media/video-canvas-source.html

    r45311 r48494  
    33        <title>Drawing to canvas using video with source element does not taint canvas</title>
    44        <link rel="stylesheet" href="../fast/js/resources/js-test-style.css">
     5        <script src=media-file.js></script>
    56        <script src=video-test.js></script>
    67        <script src="../fast/js/resources/js-test-pre.js"></script>
     
    2829                canvas = document.getElementsByTagName('canvas')[0];
    2930                waitForEvent('load', videoLoaded);
    30                 run("var source = document.createElement('source'); source.src = 'content/counting.mp4'; video.appendChild(source)");
     31                var mediaFile = findMediaFile("video", "content/counting");
     32                run("var source = document.createElement('source'); source.src = '" + mediaFile + "'; video.appendChild(source)");
    3133            }
    3234        </script>
  • trunk/LayoutTests/media/video-click-dblckick-standalone.html

    r37009 r48494  
    11<html>
    22    <head>
     3        <script src=media-file.js></script>
    34        <script>
     5        if (window.layoutTestController) {
     6            layoutTestController.dumpAsText();
     7            layoutTestController.waitUntilDone();
     8        }
     9
    410        var video;
    511        function log(msg)
     
    1016        function test()
    1117        {
    12             if (window.layoutTestController) {
    13                 layoutTestController.dumpAsText();
    14                 layoutTestController.waitUntilDone();
    15             }
    1618            video = document.getElementById('fr').contentDocument.getElementsByTagName('video')[0];
    1719            video.addEventListener('canplaythrough', test2);
     
    3941        </script>
    4042    </head>
    41     <body onload="test()">
    42     <iframe src="content/test.mp4" id="fr"></iframe>
     43    <body>
     44    <iframe id="fr"></iframe>
     45    <script>
     46        var frame = document.getElementById("fr");
     47        frame.src = findMediaFile("video", "content/test");
     48        frame.addEventListener("load", test);
     49    </script>
    4350    <p>This tests that clicking on a standalone video will pause and double-clicking will play.</p>
    4451    <pre id="console"></pre>
  • trunk/LayoutTests/media/video-controls-transformed.html

    r41413 r48494  
    1313    <p>Test controls on transformed video.</p>
    1414    <p>This test only runs in DRT!</p>
     15    <script src=media-file.js></script>
    1516    <script src=video-test.js></script>
    1617    <script>
     
    2627            endTest();
    2728        } );
    28         video.src = 'content/test.mp4';
     29        video.src = findMediaFile("video", "content/test");
    2930    </script>
    3031</body>
    3132</html>
    32 
    33 
  • trunk/LayoutTests/media/video-controls-visible-audio-only.html

    r47763 r48494  
    55            #mouse-parking:hover { padding:8; background-color: blue; }
    66        </style>
     7        <script src=media-file.js></script>
    78        <script>
     9            if (window.layoutTestController) {
     10                layoutTestController.dumpAsText();
     11                layoutTestController.waitUntilDone();
     12            }
    813
    914            var video;
     
    4853
    4954            if (window.layoutTestController) {
    50                 layoutTestController.dumpAsText();
    51                 layoutTestController.waitUntilDone();
    5255                setTimeout(function() {
    5356                    document.body.appendChild(document.createTextNode('FAIL'));
     
    6669        <p><span id="mouse-parking">mouse parks here, am I blue?</span></p>
    6770
    68         <video id="no-video-media" controls loop src="content/test.wav" onload="start()"></video>
     71        <video id="no-video-media" controls loop onload="start()"></video>
    6972        <br><br><div id="console"></div>
     73        <script>
     74            setSrcById("no-video-media", findMediaFile("audio", "content/test"));
     75        </script>
    7076    </body>
    7177</html>
  • trunk/LayoutTests/media/video-controls-zoomed.html

    r41918 r48494  
    77    }
    88  </style>
     9  <script src=media-file.js></script>
    910  <script type="text/javascript" charset="utf-8">
    1011    function runTest()
     
    3435            runTest();
    3536        } );
    36         video.src = 'content/test.mp4';
     37        video.src = findMediaFile("video", "content/test");
    3738    </script>
    3839</body>
  • trunk/LayoutTests/media/video-controls.html

    r41413 r48494  
    11<video controls></video>
    22<p>Test 'controls' attribute<p>
     3<script src=media-file.js></script>
    34<script src=video-test.js></script>
    45<script>
     
    2122        endTest();
    2223    } );
    23     video.src = 'content/test.mp4';
     24    video.src = findMediaFile("video", "content/test");
    2425</script>
  • trunk/LayoutTests/media/video-currentTime-set.html

    r41907 r48494  
    66    <p>Test that setting currentTime changes the time, and that 'ended' event is fired in a reasonable amount of time</p>
    77   
     8    <script src=media-file.js></script>
    89    <script src=video-test.js></script>
    910    <script>
     
    2122        setTimeout(function () { logResult("No 'ended' event in " + timeout/1000  + "seconds", false); }, timeout);
    2223    });
    23     video.src = "content/test.mp4";
     24    video.src = findMediaFile("video", "content/test");
    2425    </script>
    2526
  • trunk/LayoutTests/media/video-currentTime-set2.html

    r41413 r48494  
    11<video controls></video>
     2<script src=media-file.js></script>
    23<script src=video-test.js></script>
    34<script>
     
    1112        endTest();
    1213    });
    13     video.src = "content/test.mp4";
     14    video.src = findMediaFile("video", "content/test");
    1415</script>
  • trunk/LayoutTests/media/video-currentTime.html

    r41413 r48494  
    11<video controls></video>
     2<script src=media-file.js></script>
    23<script src=video-test.js></script>
    34<script>
     
    1112        endTest();
    1213    }
    13     video.src = "content/test.mp4";
     14    video.src = findMediaFile("video", "content/test");
    1415</script>
  • trunk/LayoutTests/media/video-display-none-crash.html

    r41972 r48494  
    11<video controls></video>
    22<p>Test that pause() after changing display to "none" doesn't cause a crash.</p>
     3<script src="media-file.js"></script>
    34<script src="video-test.js"></script>
    45<script>
    5     video.src = "content/test.mp4";
     6    video.src = findMediaFile("video", "content/test");
    67    video.play();
    78    video.style.display = "none";
  • trunk/LayoutTests/media/video-display-toggle.html

    r38879 r48494  
    11<html>
    22    <head>
     3        <script src=media-file.js></script>
    34        <script>
    45            function toggleDisplay()
     
    1516                if (window.layoutTestController)
    1617                    layoutTestController.waitUntilDone();
     18                setSrcById('vid', findMediaFile('video', 'content/test'));
    1719                document.getElementById('vid').addEventListener("canplaythrough", test2);
    1820            }
     
    2931    <body onload="test()">
    3032        This tests that toggling the display property won't make the controls disappear.<br>
    31         <video id="vid" controls src="content/test.mp4"></video>
     33        <video id="vid" controls></video>
    3234    </body>
    3335</html>
  • trunk/LayoutTests/media/video-dom-autoplay.html

    r41413 r48494  
    11<video controls></video>
     2<script src=media-file.js></script>
    23<script src=video-test.js></script>
    34<script>
     
    1112    } );
    1213
    13     video.src = "content/test.mp4";
     14    video.src = findMediaFile("video", "content/test");
    1415</script>
  • trunk/LayoutTests/media/video-dom-src.html

    r41413 r48494  
    11<video controls></video>
     2<script src=media-file.js></script>
    23<script src=video-test.js></script>
    34<script>
    45    testExpected("video.currentSrc", "");
    5     video.src = "content/test.mp4";
     6    var mediaFile = findMediaFile("video", "content/test");
     7    video.src = mediaFile;
    68    testExpected("video.currentSrc", "");
    79
    810    waitForEvent('load', function () {
    9         testExpected("relativeURL(video.currentSrc)", "content/test.mp4");
     11        testExpected("relativeURL(video.currentSrc)", mediaFile);
    1012        endTest();
    1113    } );
  • trunk/LayoutTests/media/video-error-abort.html

    r41413 r48494  
    11<video controls></video>
     2<script src=media-file.js></script>
    23<script src=video-test.js></script>
    34<script>
     
    1415    } );
    1516
    16     video.src = "content/test.mp4";
     17    video.src = findMediaFile("video", "content/test");
    1718</script>
  • trunk/LayoutTests/media/video-load-networkState.html

    r41907 r48494  
    99     </p>
    1010   
     11    <script src=media-file.js></script>
    1112    <script src=video-test.js></script>
    1213    <script>
     
    3233
    3334            // now set a valid url
    34             run("video.src = 'content/test.mp4'");
     35            var mediaFile = findMediaFile("video", "content/test");
     36            run("video.src = '" + mediaFile + "'");
    3537        }
    3638       
  • trunk/LayoutTests/media/video-load-readyState.html

    r41907 r48494  
    11<video controls></video>
     2<script src=media-file.js></script>
    23<script src=video-test.js></script>
    34<script>
     
    1819    waitForEvent("canplaythrough", function () { testReadyState(HTMLMediaElement.HAVE_ENOUGH_DATA, true ); } );
    1920
    20     video.src = "content/test.mp4";
     21    video.src = findMediaFile("video", "content/test");
    2122</script>
  • trunk/LayoutTests/media/video-loop.html

    r46857 r48494  
    33    <video controls autoplay ></video>
    44
     5    <script src=media-file.js></script>
    56    <script src=video-test.js></script>
    67
     
    5657        consoleWrite("");
    5758        run("video.loop = true");
    58         run("video.src = 'content/test.mp4'");
     59        var mediaFile = findMediaFile("video", "content/test");
     60        run("video.src = '" + mediaFile + "'");
    5961        consoleWrite("");
    6062    </script>
  • trunk/LayoutTests/media/video-muted.html

    r41413 r48494  
    11<video controls></video>
    22<p>Test 'muted' attribute<p>
     3<script src=media-file.js></script>
    34<script src=video-test.js></script>
    45<script>
     
    67    run("video.muted = true");
    78    testExpected("video.muted", true);
    8     video.src = "content/test.mp4";
     9    video.src = findMediaFile("video", "content/test");
    910    run("video.load()");
    1011    waitForEvent("load", function () {
  • trunk/LayoutTests/media/video-no-autoplay.html

    r41413 r48494  
    11<video controls></video>
    22<p>Test that play event does not fire when "src" set with no autoplay attribute.</p>
     3<script src=media-file.js></script>
    34<script src=video-test.js></script>
    45<script>
     
    1718    waitForEvent('load', function () { setTimeout(testPaused, 500);} );
    1819
    19     video.src = "content/test.mp4";
     20    video.src = findMediaFile("video", "content/test");
    2021</script>
Note: See TracChangeset for help on using the changeset viewer.