blob: 1d5e8ec0a31b59f9bbda1f87f6f49f1b41ca8429 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Tests RTCPeerConnection createOffer.");
// Let's ensure built-ins are shielded from user scripts
var thenPromise = Promise.prototype.then;
Promise.prototype.then = function() {
console.log("Promise.prototype.then is called internally");
return thenPromise.apply(this, arguments);
}
var pc = null;
function requestSucceeded3(sd)
{
testPassed('createOffer request succeeded.');
sessionDescription = sd;
shouldBe('sessionDescription.type', '"offer"');
finishJSTest();
}
function requestFailed7(reason)
{
testPassed('createOffer request failed.');
errorReason = reason;
shouldBe('errorReason.name', '"Invalid createOffer argument."');
shouldNotThrow('pc.createOffer(requestSucceeded3, requestFailed1, {requestIdentity:"yes", offerToReceiveVideo:0, offerToReceiveAudio:0});');
}
function requestFailed6(reason)
{
testPassed('createOffer request failed.');
errorReason = reason;
shouldBe('errorReason.name', '"Invalid createOffer argument."');
shouldThrow('pc.createOffer(requestSucceeded2, requestFailed7, {requestIdentity:"yes", offerToReceiveVideo:0, offerToReceiveAudio:""});');
}
function requestFailed5(reason)
{
testPassed('createOffer request failed.');
errorReason = reason;
shouldBe('errorReason.name', '"Invalid createOffer argument."');
shouldThrow('pc.createOffer(requestSucceeded2, requestFailed6, {requestIdentity:"yes", offerToReceiveVideo:"", offerToReceiveAudio:0});');
}
function requestFailed4(reason)
{
testPassed('createOffer request failed.');
errorReason = reason;
shouldBe('errorReason.name', '"Invalid createOffer argument."');
shouldThrow('pc.createOffer(requestSucceeded2, requestFailed5, {offerToReceiveVideo:0, offerToReceiveAudio:0});');
}
function requestFailed3(reason)
{
testPassed('createOffer request failed.');
errorReason = reason;
shouldBe('errorReason.name', '"Invalid createOffer argument."');
shouldThrow('pc.createOffer(requestSucceeded2, requestFailed4, {requestIdentity:"yes", offerToReceiveVideo:0});');
}
function requestFailed2(reason)
{
testPassed('createOffer request failed.');
errorReason = reason;
shouldBe('errorReason.name', '"Invalid createOffer argument."');
shouldThrow('pc.createOffer(requestSucceeded2, requestFailed3, {requestIdentity:"yes", offerToReceiveAudio:0});');
}
function requestSucceeded2(sd)
{
testFailed('createOffer request succeeded.');
finishJSTest();
}
function requestFailed1()
{
testFailed('createOffer request failed.');
finishJSTest();
}
function requestSucceeded1(sd)
{
testPassed('createOffer request succeeded.');
sessionDescription = sd;
shouldBe('sessionDescription.type', '"offer"');
shouldThrow('pc.createOffer(requestSucceeded2, requestFailed2, {});');
}
pc = new RTCPeerConnection({iceServers:[{urls:'stun:foo.com'}]});
shouldNotThrow('pc.createOffer(requestSucceeded1, requestFailed1);');
window.jsTestIsAsync = true;
window.successfullyParsed = true;
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>