tor-browser

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

test_nodereplacechildnodeancestor.html (4832B)


      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
      2 <html>
      3 <head>
      4 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
      5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      6 <title>http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodereplacechildnodeancestor</title>
      7 <link href="activity-home.css" rel="stylesheet" type="text/css">
      8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
      9 <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10 <script type="text/javascript" src="DOMTestCase.js"></script>
     11 <script type="text/javascript" src="exclusions.js"></script>
     12 <script type="text/javascript">
     13 // expose test function names
     14 function exposeTestFunctionNames()
     15 {
     16 return ['nodereplacechildnodeancestor'];
     17 }
     18 
     19 var docsLoaded = -1000000;
     20 var builder = null;
     21 
     22 //
     23 //   This function is called by the testing framework before
     24 //      running the test suite.
     25 //
     26 //   If there are no configuration exceptions, asynchronous
     27 //        document loading is started.  Otherwise, the status
     28 //        is set to complete and the exception is immediately
     29 //        raised when entering the body of the test.
     30 //
     31 function setUpPage() {
     32   setUpPageStatus = 'running';
     33   try {
     34     //
     35     //   creates test document builder, may throw exception
     36     //
     37     builder = createConfiguredBuilder();
     38 
     39      docsLoaded = 0;
     40      
     41      var docRef = null;
     42      if (typeof(this.doc) != 'undefined') {
     43        docRef = this.doc;
     44      }
     45      docsLoaded += preload(docRef, "doc", "staff");
     46        
     47       if (docsLoaded == 1) {
     48          setUpPage = 'complete';
     49       }
     50    } catch(ex) {
     51    	catchInitializationError(builder, ex);
     52        setUpPage = 'complete';
     53    }
     54 }
     55 
     56 //
     57 //   This method is called on the completion of 
     58 //      each asychronous load started in setUpTests.
     59 //
     60 //   When every synchronous loaded document has completed,
     61 //      the page status is changed which allows the
     62 //      body of the test to be executed.
     63 function loadComplete() {
     64  if (++docsLoaded == 1) {
     65    setUpPageStatus = 'complete';
     66    runJSUnitTests();
     67    markTodos();
     68    SimpleTest.finish();
     69  }
     70 }
     71 
     72 var docName = 'nodereplacechildnodeancestor';
     73 
     74 
     75 
     76 window.doc = window;  
     77 SimpleTest.waitForExplicitFinish();
     78 addLoadEvent(setUpPage);
     79 
     80 
     81 /**
     82 * 
     83    The "replaceChild(newChild,oldChild)" method raises a 
     84    HIERARCHY_REQUEST_ERR DOMException if the node to put
     85    in is one of this node's ancestors.
     86    
     87    Retrieve the second employee and attempt to replace
     88    one of its children with an ancestor node(root node).
     89    An attempt to make such a replacement should raise the 
     90    desired exception.
     91 
     92 * @author NIST
     93 * @author Mary Brady
     94 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR'])
     95 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307
     96 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])
     97 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307
     98 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249
     99 */
    100 function nodereplacechildnodeancestor() {
    101   var success;
    102    if(checkInitialization(builder, "nodereplacechildnodeancestor") != null) return;
    103    var doc;
    104      var newChild;
    105      var elementList;
    106      var employeeNode;
    107      var childList;
    108      var oldChild;
    109      var replacedNode;
    110      
    111      var docRef = null;
    112      if (typeof(this.doc) != 'undefined') {
    113        docRef = this.doc;
    114      }
    115      doc = load(docRef, "doc", "staff");
    116      newChild = doc.documentElement;
    117 
    118      elementList = doc.getElementsByTagName("employee");
    119      employeeNode = elementList.item(1);
    120      childList = employeeNode.childNodes;
    121 
    122      oldChild = childList.item(0);
    123      
    124 {
    125 	success = false;
    126 	try {
    127            replacedNode = employeeNode.replaceChild(newChild,oldChild);
    128        }
    129 	catch(ex) {
    130      success = (typeof(ex.code) != 'undefined' && ex.code == 3);
    131 	}
    132 	assertTrue("throw_HIERARCHY_REQUEST_ERR",success);
    133 }
    134 
    135 }
    136 
    137 </script>
    138 </head>
    139 <body>
    140 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodereplacechildnodeancestor</h2>
    141 <p></p>
    142 <p>
    143 Copyright (c) 2001-2004 World Wide Web Consortium, 
    144 (Massachusetts Institute of Technology, European Research Consortium 
    145 for Informatics and Mathematics, Keio University). All 
    146 Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> in the 
    147 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
    148 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
    149 </p>
    150 </body>
    151 </html>