<!DOCTYPE HTML> <html> <head> <title>Media test: seek tests</title> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> <script type="text/javascript" src="manifest.js"></script> </head> <body> <pre id="test"> <script class="testbody" type="text/javascript"> SimpleTest.waitForExplicitFinish(); var SEEK_TIME = 3.5; var seekStarted = false; var seekCompleted = false; var metadata = false; var v = document.createElement('video'); document.body.appendChild(v); SimpleTest.registerCleanupFunction(function () { v.remove(); }); try { v.currentTime = SEEK_TIME; } catch (e) { ok(false, "should not fire '" + e + "' event"); } is(v.readyState, v.HAVE_NOTHING, "readyState is HAVE_NOTHING"); ok(!v.seeking, "can't be seeking prior src defined"); is(v.currentTime, SEEK_TIME, "currentTime is default playback start position"); once(v, "seeking", function() { seekStarted = true; }); once(v, "seeked", function() { seekCompleted = true; }); once(v, "loadedmetadata", function() { metadata = true; ok(v.seeking, "element is seeking once readyState is HAVE_METADATA"); }); once(v, "ended", function() { ok(seekStarted, "seek should have started"); ok(seekCompleted, "seek should have completed"); ok(metadata, "loadedmetadata fired"); ok(v.currentTime >= SEEK_TIME, "currentTime should be after seek time"); SimpleTest.finish(); }); v.src = "seek.webm"; v.play(); </script> </pre> </body> </html>