blob: 8c750e9b6349f73c2b591d18886377b1cdd1300e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script src="./resources/getUserMedia-helper.js"></script>
<script>
var track;
var kind;
var id;
var label;
var enabled;
var readonly;
var remote;
var muted;
function gotStream(stream) {
debug("*** extract track");
track = stream.getAudioTracks()[0];
shouldBe('track.readyState', '"live"');
debug("*** store track attributes that should be preserved");
evalAndLog('kind = track.kind');
evalAndLog('id = track.id');
evalAndLog('label = track.label');
evalAndLog('enabled = track.enabled');
evalAndLog('readonly = track.readonly');
evalAndLog('remote = track.remote');
evalAndLog('muted = track.muted');
debug("*** stop track");
track.stop();
shouldBe('track.readyState', '"ended"');
debug("*** compare against stored attribute values");
shouldBe('track.kind', 'kind');
shouldBe('track.id', 'id');
shouldBe('track.label', 'label');
shouldBe('track.enabled', 'enabled');
shouldBe('track.readonly', 'readonly');
shouldBe('track.remote', 'remote');
shouldBe('track.muted', 'muted');
debug("*** toggle enable (should now throw)");
shouldNotThrow('track.enabled = !track.enabled');
shouldNotBe('track.enabled', 'enabled');
finishJSTest();
}
function start() {
description("Test MediaStreamTrack stop()");
getUserMedia("allow", {audio:true}, gotStream);
}
window.jsTestIsAsync = true;
window.successfullyParsed = true;
</script>
</head>
<body onload="start()">
<p id="description"></p>
<div id="console"></div>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>