<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Test MozSpeakerManager API</title> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> </head> <body> <p id="display"></p> <div id="content" style="display: none"></div> <pre id="test"> <script type="application/javascript"> "use strict"; function testObject() { var mgr = new MozSpeakerManager(); var spkforced = false; mgr.onspeakerforcedchange = function() { if (spkforced) { is(mgr.speakerforced, true, 'speaker should be true'); spkforced = false; mgr.forcespeaker = false; } else { is(mgr.speakerforced, false, 'speaker should be false'); SimpleTest.finish(); } } spkforced = true; mgr.forcespeaker = true; } function startTests() { // Currently applicable only on FxOS if (navigator.userAgent.indexOf("Mobile") != -1 && navigator.appVersion.indexOf("Android") == -1) { testObject(); } else { ok(true, "MozSpeakerManager on Firefox OS only."); SimpleTest.finish(); } } SimpleTest.waitForExplicitFinish(); SpecialPowers.pushPermissions( [{ "type": "speaker-control", "allow": 1, "context": document }], startTests); </script> </pre> </body> </html>