56 lines
1.9 KiB
HTML
56 lines
1.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="./resources/getUserMedia-helper.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
description("Tests MediaStream assignment to MediaElement using 'srcObject' MediaElement attribute.");
|
|
|
|
var stream;
|
|
var errorArg;
|
|
|
|
function error()
|
|
{
|
|
testFailed('Error callback called.');
|
|
finishJSTest();
|
|
}
|
|
|
|
function testNullStreamObject(stream, audio)
|
|
{
|
|
shouldNotThrow("audio.srcObject = null;");
|
|
shouldNotThrow("streamObj = audio.srcObject;");
|
|
shouldBe('streamObj', 'null');
|
|
finishJSTest();
|
|
}
|
|
|
|
function gotStream(s)
|
|
{
|
|
stream = s;
|
|
shouldBe('stream.getAudioTracks().length', '1');
|
|
shouldBe('stream.getVideoTracks().length', '0');
|
|
|
|
audio = new Audio();
|
|
shouldNotThrow("audio.srcObject = stream;");
|
|
shouldNotThrow("streamObj = audio.srcObject;");
|
|
shouldBe('streamObj', 'stream');
|
|
shouldBe('streamObj.getAudioTracks().length', '1');
|
|
shouldBe('streamObj.getVideoTracks().length', '0');
|
|
shouldBe('streamObj.id', 'stream.id');
|
|
testPassed('stream assigned to media element.');
|
|
|
|
testNullStreamObject(stream, audio);
|
|
}
|
|
|
|
shouldNotThrow("getUserMedia('allow', {audio:true}, gotStream)");
|
|
|
|
window.jsTestIsAsync = true;
|
|
window.successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|