Blame dom/base/test/test_noAudioNotification.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
<head>
Packit f0b94e
  <title>Test for video controller in windows</title>
Packit f0b94e
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
Packit f0b94e
</head>
Packit f0b94e
<body>
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
<script type="application/javascript">
Packit f0b94e
Packit f0b94e
SimpleTest.waitForExplicitFinish();
Packit f0b94e
Packit f0b94e
var observer = {
Packit f0b94e
  observe: function(subject, topic, data) {
Packit f0b94e
    ok(false, "should not receive audio-playback notification!");
Packit f0b94e
  }
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
var observerService = SpecialPowers.Cc["@mozilla.org/observer-service;1"]
Packit f0b94e
                                   .getService(SpecialPowers.Ci.nsIObserverService);
Packit f0b94e
Packit f0b94e
var video = document.createElement("video");
Packit f0b94e
video.loop = true;
Packit f0b94e
video.src = "noaudio.webm";
Packit f0b94e
Packit f0b94e
video.onplay = video.onpause  = function() {
Packit f0b94e
  // Yield to the event loop a few times to make sure that audio-playback is not dispatched.
Packit f0b94e
  SimpleTest.executeSoon(function() {
Packit f0b94e
    SimpleTest.executeSoon(function() {
Packit f0b94e
      SimpleTest.executeSoon(function() {
Packit f0b94e
        runTest();
Packit f0b94e
      });
Packit f0b94e
    });
Packit f0b94e
  });
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
var tests = [
Packit f0b94e
  function() {
Packit f0b94e
    observerService.addObserver(observer, "audio-playback");
Packit f0b94e
    ok(true, "Observer set");
Packit f0b94e
    runTest();
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    video.play();
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    video.pause();
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    observerService.removeObserver(observer, "audio-playback");
Packit f0b94e
    ok(true, "Observer removed");
Packit f0b94e
    runTest();
Packit f0b94e
  }
Packit f0b94e
];
Packit f0b94e
Packit f0b94e
function runTest() {
Packit f0b94e
  if (!tests.length) {
Packit f0b94e
    SimpleTest.finish();
Packit f0b94e
    return;
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  var test = tests.shift();
Packit f0b94e
  test();
Packit f0b94e
}
Packit f0b94e
Packit f0b94e
runTest();
Packit f0b94e
Packit f0b94e
</script>
Packit f0b94e
</body>
Packit f0b94e
</html>
Packit f0b94e