1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/test_source_media.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,60 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 +<meta charset="utf-8"> 1.8 +<title>Media test: media attribute for the source element.</title> 1.9 +<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.10 +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.11 +<script type="text/javascript" src="manifest.js"></script> 1.12 +<script type="text/javascript" src="../../html/content/test/reflect.js"></script> 1.13 +</head> 1.14 +<body> 1.15 +<pre id="test"> 1.16 +<script type="text/javascript"> 1.17 + var testCount = 0; 1.18 + function notifyFinished() { 1.19 + testCount++; 1.20 + if (testCount == 2) { 1.21 + SimpleTest.finish(); 1.22 + } 1.23 + } 1.24 + SimpleTest.waitForExplicitFinish(); 1.25 + 1.26 + reflectString({ 1.27 + element: document.createElement("source"), 1.28 + attribute: "media", 1.29 + }); 1.30 + 1.31 + var media = getPlayableVideo(gSmallTests); 1.32 + 1.33 + if (media == null) { 1.34 + todo(false, "No media supported."); 1.35 + SimpleTest.finish(); 1.36 + } else { 1.37 + var v = document.createElement('video'); 1.38 + v.preload = "auto"; 1.39 + v.innerHTML = "<source src=\"" + media.name + "?fail\" media=\"not all\">" + 1.40 + "<source src=\""+ media.name + "?pass\" media=\"all\">"; 1.41 + var v2 = document.createElement("video"); 1.42 + v2.preload = "auto"; 1.43 + v2.innerHTML = "<source src=\""+ media.name +"?pass\">" + 1.44 + "<source src=\""+ media.name + "?fail\" media=\"all\">"; 1.45 + document.body.appendChild(v); 1.46 + document.body.appendChild(v2); 1.47 + 1.48 + v.addEventListener("loadedmetadata", function(e) { 1.49 + ok(/pass/.test(e.target.currentSrc), 1.50 + "The source has been chosen according to the media attribute."); 1.51 + notifyFinished(); 1.52 + }); 1.53 + v2.addEventListener("loadedmetadata", function(e) { 1.54 + ok(/pass/.test(e.target.currentSrc), 1.55 + "If no media attribute is specified, it defaults to \'all\'.") 1.56 + notifyFinished(); 1.57 + }); 1.58 + } 1.59 + 1.60 +</script> 1.61 +</pre> 1.62 +</body> 1.63 +</html>