DXR will be turned off on Tuesday, December 29th. It will redirect to Searchfox.
See the announcement on Discourse.

DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c68fe15a81fc)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
<!DOCTYPE HTML>
<html>
<head>
<head>
  <meta charset="utf-8">
  <title>Test returning metadata from media files with mozGetMetadata()</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
  <script type="text/javascript" src="manifest.js"></script>
  <script type="text/javascript" src="manifest.js"></script>
</head>
<body>
<pre id="test">
<div id="output"></div>
<script class="testbody" type="text/javascript">
<script class="testbody" type="text/javascript">

var manager = new MediaTestManager;

function startTest(test, token) {
  var a = document.createElement('audio');
  var a = document.createElement('audio');
  a.preload = "metadata";
  a.token = token;
  manager.started(token);

  a.src = test.name;
  a.src = test.name;
  a.name = test.name;

  // Tags should not be available immediately.
  var exception_fired = false;
  var exception_fired = false;
  try {
    a.mozGetMetadata();
  } catch (e) {
    is(e.name, 'InvalidStateError',
       "early mozGetMetadata() should throw InvalidStateError");
       "early mozGetMetadata() should throw InvalidStateError");
    exception_fired = true;
  }
  ok(exception_fired,
     "mozGetMetadata() should throw an exception before HAVE_METADATA");


  // Wait until metadata has loaded.
  a.addEventListener('loadedmetadata', function() {
    // read decoded tags
    let tags = a.mozGetMetadata();
    ok(tags, "mozGetMetadata() should return a truthy value");
    ok(tags, "mozGetMetadata() should return a truthy value");
    // Dump them out.
    var d = document.getElementById('output');
    var html = '<table>\n';
    html += '<caption><p>Called getMozMetadata()'
    html += ' on '+test.name+'</p></caption>\n';
    html += ' on '+test.name+'</p></caption>\n';
    html += '<tr><th>tag</th>';
    html += '<th>decoded value</th><th>expected value</th></tr>\n';
    for (let tag in tags) {
      html += '<tr><td>'+tag+'</td>';
      html += '<td>'+tags[tag]+'</td>';
      html += '<td>'+test.tags[tag]+'</td>';
      html += '</tr>\n';
      html += '</tr>\n';
    }
    if (!Object.keys(tags).length) {
      html += '<tr><td colspan=3 align=center><em>no tags</em></td></tr>\n';
    }
    html += '</table>\n';
    html += '</table>\n';
    var div = document.createElement('div');
    // eslint-disable-next-line no-unsanitized/property
    div.innerHTML = html;
    d.appendChild(div);
    // Verify decoded tag values.
    // Verify decoded tag values.
    for (let tag in tags) {
      is(tags[tag], test.tags[tag], "Tag '"+tag+"' should match");
    }
    // Verify expected tag values
    // Verify expected tag values
    for (let tag in test.tags) {
      is(tags[tag], test.tags[tag], "Tag '"+tag+"' should match");
    }
    removeNodeAndSource(a);
    manager.finished(token);
    manager.finished(token);
  });
}

manager.runTests(gMetadataTests, startTest);


</script>
</pre>
</body>
</html>