tor-browser

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

xpathevaluatorbase-creatensresolver.html (1963B)


      1 <!DOCTYPE html>
      2 <script src='/resources/testharness.js'></script>
      3 <script src='/resources/testharnessreport.js'></script>
      4 <body>
      5 <script>
      6 [document, new XPathEvaluator()].forEach(evaluator => {
      7  test(() => {
      8    assert_equals(evaluator.createNSResolver(document), document, 'Document');
      9    const fragment = document.createDocumentFragment();
     10    assert_equals(evaluator.createNSResolver(fragment), fragment,
     11                  'DocumentFragment');
     12    assert_equals(evaluator.createNSResolver(document.doctype),
     13                  document.doctype, 'DocumentType');
     14    assert_equals(evaluator.createNSResolver(document.body), document.body,
     15                  'Element');
     16    assert_equals(evaluator.createNSResolver(document.body.firstChild),
     17                  document.body.firstChild, 'Text');
     18    const attr = document.createAttribute('foo');
     19    assert_equals(evaluator.createNSResolver(attr), attr, 'Attr');
     20  }, `createNSResolver() should return the specified node as is. (${evaluator.constructor.name})`);
     21 
     22  function createAndLookup(evaluator, node) {
     23    return evaluator.createNSResolver(node).lookupNamespaceURI('xml');
     24  }
     25 
     26  test(() => {
     27    assert_equals(createAndLookup(evaluator, new Document()), null, 'Document');
     28    assert_equals(createAndLookup(evaluator, new DocumentFragment()), null,
     29                  'DocumentFragment');
     30    assert_equals(createAndLookup(evaluator, document.doctype), null,
     31                  'DocumentType');
     32    assert_equals(createAndLookup(evaluator, document.createElement('body')),
     33                  'http://www.w3.org/XML/1998/namespace', 'Element');
     34    assert_equals(createAndLookup(evaluator, document.createTextNode('foo')),
     35                  null, 'Text');
     36    assert_equals(createAndLookup(evaluator, document.createAttribute('bar')),
     37                  null, 'Attr');
     38  }, `createNSResolver() resultant object should not add support of 'xml' prefix. (${evaluator.constructor.name})`);
     39 });
     40 </script>
     41 </body>