tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_decodeAudioDataOnDetachedBuffer.html (1331B)


      1 <!DOCTYPE HTML>
      2 <html>
      3  <meta charset=utf-8>
      4 <head>
      5  <title>Bug 1308434 - Test DecodeAudioData on detached buffer</title>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      8 </head>
      9 <body>
     10 <pre id="test">
     11 <script type="text/javascript">
     12 var testDecodeAudioDataOnDetachedBuffer = function(buffer) {
     13  var context = new AudioContext();
     14 
     15  // make the buffer detached
     16  context.decodeAudioData(buffer);
     17 
     18  // check that the buffer is detached
     19  is(buffer.byteLength, 0, "Buffer should be detached");
     20 
     21  // call decodeAudioData on detached buffer
     22  context.decodeAudioData(buffer).then(function() {
     23    ok(false, "We should not be able to decode the detached buffer but we do");
     24    SimpleTest.finish();
     25  }, function(r) {
     26    SimpleTest.isa(r, TypeError);
     27    is(r.message, "BaseAudioContext.decodeAudioData: Buffer argument can't be a detached buffer", "Incorrect message");
     28    SimpleTest.finish();
     29  });
     30 };
     31 
     32 var filename = "small-shot.mp3";
     33 
     34 SimpleTest.waitForExplicitFinish();
     35 
     36 addLoadEvent(function() {
     37  var xhr = new XMLHttpRequest();
     38  xhr.open("GET", filename);
     39  xhr.responseType = "arraybuffer";
     40 
     41  xhr.onload = function() {
     42    testDecodeAudioDataOnDetachedBuffer(xhr.response);
     43  };
     44 
     45  xhr.send();
     46 });
     47 </script>
     48 </pre>
     49 </body>
     50 </html>