1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/test_play_events.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,63 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Media test: play() method</title> 1.8 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.9 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.10 + <script type="text/javascript" src="manifest.js"></script> 1.11 +</head> 1.12 +<body> 1.13 +<pre id="test"> 1.14 + 1.15 +<script> 1.16 + 1.17 +var manager = new MediaTestManager; 1.18 + 1.19 +var tokens = { 1.20 + 0: ["play"], 1.21 + "play": ["canplay"], 1.22 + "canplay": ["playing"], 1.23 + "playing": ["canplay", "canplaythrough"], 1.24 + "canplaythrough": ["canplay", "canplaythrough"] 1.25 +}; 1.26 + 1.27 +function gotPlayEvent(event) { 1.28 + var v = event.target; 1.29 + ok(tokens[v._state].indexOf(event.type) >= 0, 1.30 + "Check expected event got " + event.type + " at " + v._state + " for " + v.src + 1.31 + " uneval(event.type)=" + uneval(event.type) + " typeof(event.type)=" + typeof(event.type) + 1.32 + " uneval(v._state)=" + uneval(v._state) + " typeof(v._state)=" + typeof(v._state) + 1.33 + " tokens["+v._state+"]=" + tokens[v._state] + 1.34 + " tokens["+v._state+"].indexOf(event.type)=" + tokens[v._state].indexOf(event.type)); 1.35 + v._state = event.type; 1.36 +} 1.37 + 1.38 +function ended(event) { 1.39 + var v = event.target; 1.40 + removeNodeAndSource(v); 1.41 + manager.finished(v.token); 1.42 +} 1.43 + 1.44 +function initTest(test, token) { 1.45 + var v = document.createElement('video'); 1.46 + v.token = token; 1.47 + manager.started(token); 1.48 + v._state = 0; 1.49 + 1.50 + ["play", "canplay", "playing", "canplaythrough"].forEach(function (e) { 1.51 + v.addEventListener(e, gotPlayEvent, false); 1.52 + }); 1.53 + 1.54 + v.addEventListener("ended", ended, false); 1.55 + 1.56 + v.src = test.name; 1.57 + document.body.appendChild(v); // Causes load. 1.58 + v.play(); 1.59 +} 1.60 + 1.61 +manager.runTests(gSmallTests, initTest); 1.62 + 1.63 +</script> 1.64 +</pre> 1.65 +</body> 1.66 +</html>