mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-25 09:57:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,79 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<script type="application/javascript" src="pc.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="test">
|
||||
<script type="application/javascript;version=1.8">
|
||||
createHTML({
|
||||
bug: "1291715",
|
||||
title: "Test insertDTMF on sender",
|
||||
visible: true
|
||||
});
|
||||
|
||||
function insertdtmftest(pc) {
|
||||
ok(pc.getSenders().length > 0, "have senders");
|
||||
var sender = pc.getSenders()[0];
|
||||
ok(sender.dtmf, "sender has dtmf object");
|
||||
|
||||
ok(sender.dtmf.toneBuffer === "", "sender should start with empty tonebuffer");
|
||||
|
||||
// These will trigger assertions on debug builds if we do not enforce the
|
||||
// specified minimums and maximums for duration and interToneGap.
|
||||
sender.dtmf.insertDTMF("A", 10);
|
||||
sender.dtmf.insertDTMF("A", 10000);
|
||||
sender.dtmf.insertDTMF("A", 70, 10);
|
||||
|
||||
var threw = false;
|
||||
try {
|
||||
sender.dtmf.insertDTMF("bad tones");
|
||||
} catch (ex) {
|
||||
threw = true;
|
||||
is(ex.code, DOMException.INVALID_CHARACTER_ERR, "Expected InvalidCharacterError");
|
||||
}
|
||||
ok(threw, "Expected exception");
|
||||
|
||||
sender.dtmf.insertDTMF("A");
|
||||
sender.dtmf.insertDTMF("B");
|
||||
ok(sender.dtmf.toneBuffer.indexOf("A") == -1, "calling insertDTMF should replace current characters");
|
||||
|
||||
sender.dtmf.insertDTMF("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
|
||||
ok(sender.dtmf.toneBuffer.indexOf("A") != -1, "lowercase characters should be normalized");
|
||||
|
||||
pc.removeTrack(sender);
|
||||
threw = false;
|
||||
try {
|
||||
sender.dtmf.insertDTMF("AAA");
|
||||
} catch (ex) {
|
||||
threw = true;
|
||||
is(ex.code, DOMException.INVALID_STATE_ERR, "Expected InvalidStateError");
|
||||
}
|
||||
ok(threw, "Expected exception");
|
||||
}
|
||||
|
||||
runNetworkTest(() => {
|
||||
test = new PeerConnectionTest();
|
||||
test.setMediaConstraints([{audio: true}], [{audio: true}]);
|
||||
test.chain.removeAfter("PC_REMOTE_WAIT_FOR_MEDIA_FLOW");
|
||||
|
||||
// Test sender dtmf.
|
||||
test.chain.append([
|
||||
function PC_LOCAL_INSERT_DTMF(test) {
|
||||
// We want to call removeTrack
|
||||
test.pcLocal.expectNegotiationNeeded();
|
||||
return insertdtmftest(test.pcLocal._pc);
|
||||
}
|
||||
]);
|
||||
|
||||
var pushPrefs = (...p) => new Promise(r => SpecialPowers.pushPrefEnv({set: p}, r));
|
||||
|
||||
return pushPrefs(['media.peerconnection.dtmf.enabled', true])
|
||||
.then(() => { test.run() })
|
||||
.catch(e => ok(false, "unexpected failure: " + e));
|
||||
});
|
||||
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue