chromium/third_party/blink/web_tests/http/tests/media/media-source/mediasource-preload.html

<!DOCTYPE html>
<html>
    <head>
        <script src="/w3c/resources/testharness.js"></script>
        <script src="/w3c/resources/testharnessreport.js"></script>
    </head>
    <body>
        <script>
            function attachWithPreloadTest(preload)
            {
                async_test(function(test)
                {
                    var video = document.createElement("video");
                    var mediaSource = new MediaSource();
                    var mediaSourceURL = URL.createObjectURL(mediaSource);

                    video.preload = preload;
                    document.body.appendChild(video);
                    test.add_cleanup(function() {
                        document.body.removeChild(video);
                        URL.revokeObjectURL(mediaSourceURL);
                    });

                    mediaSource.addEventListener("sourceopen", test.step_func_done());
                    video.src = mediaSourceURL;
                }, "sourceopen occurs with element preload=" + preload);
            }

            attachWithPreloadTest("auto");
            attachWithPreloadTest("metadata");
            attachWithPreloadTest("none");

            function errorWithPreloadTest(preload, bogusURLStyle)
            {
                async_test(function(test)
                {
                    var mediaSource = new MediaSource();
                    var bogusURL = URL.createObjectURL(mediaSource);

                    if (bogusURLStyle == "corrupted") {
                        var goodURL = bogusURL;
                        test.add_cleanup(function() { URL.revokeObjectURL(goodURL); });
                        bogusURL += "0";
                    } else if (bogusURLStyle == "revoked") {
                        URL.revokeObjectURL(bogusURL);
                    } else {
                        assert_unreached("invalid case");
                    }

                    var video = document.createElement("video");
                    video.preload = preload;
                    document.body.appendChild(video);
                    test.add_cleanup(function() { document.body.removeChild(video); });

                    mediaSource.addEventListener("sourceopen", test.unreached_func("'sourceopen' should not be fired"));

                    video.onerror = test.step_func_done();
                    video.src = bogusURL;
                }, "error occurs with bogus blob URL (" + bogusURLStyle + " MediaSource object URL) and element preload=" + preload);
            }

            errorWithPreloadTest("auto", "revoked");
            errorWithPreloadTest("metadata", "revoked");
            errorWithPreloadTest("none", "revoked");

            errorWithPreloadTest("auto", "corrupted");
            errorWithPreloadTest("metadata", "corrupted");
            errorWithPreloadTest("none", "corrupted");
        </script>
    </body>
</html>