tor-browser

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

test_elementsetattributenodenomodificationallowederr.html (5243B)


      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/elementsetattributenodenomodificationallowederr</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 ['elementsetattributenodenomodificationallowederr'];
     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 = 'elementsetattributenodenomodificationallowederr';
     73 
     74 
     75 
     76 window.doc = window;  
     77 SimpleTest.waitForExplicitFinish();
     78 addLoadEvent(setUpPage);
     79 
     80 
     81 /**
     82 * 
     83    The "setAttributeNode(newAttr)" method for an attribute causes the 
     84   DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
     85   if the node is readonly.
     86   
     87   Obtain the children of the THIRD "gender" element.  The elements
     88   content is an entity reference.  Try to remove the "domestic" attribute
     89   from the entity reference by executing the "setAttributeNode(newAttr)" method.
     90   This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
     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='NO_MODIFICATION_ALLOWED_ERR'])
     95 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154
     96 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])
     97 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154
     98 */
     99 function elementsetattributenodenomodificationallowederr() {
    100   var success;
    101    if(checkInitialization(builder, "elementsetattributenodenomodificationallowederr") != null) return;
    102    var doc;
    103      var genderList;
    104      var gender;
    105      var entRef;
    106      var entElement;
    107      var newAttr;
    108      var nodeType;
    109      var badAttr;
    110      
    111      var docRef = null;
    112      if (typeof(this.doc) != 'undefined') {
    113        docRef = this.doc;
    114      }
    115      doc = load(docRef, "doc", "staff");
    116      genderList = doc.getElementsByTagName("gender");
    117      gender = genderList.item(2);
    118      entRef = gender.firstChild;
    119 
    120      assertNotNull("entRefNotNull",entRef);
    121 nodeType = entRef.nodeType;
    122 
    123      
    124 if(
    125 (1 == nodeType)
    126 ) {
    127 entRef = doc.createEntityReference("ent4");
    128      assertNotNull("createdEntRefNotNull",entRef);
    129 
    130 }
    131 entElement = entRef.firstChild;
    132 
    133      assertNotNull("entElementNotNull",entElement);
    134 newAttr = doc.createAttribute("newAttr");
    135      
    136 {
    137 	success = false;
    138 	try {
    139            badAttr = entElement.setAttributeNode(newAttr);
    140        }
    141 	catch(ex) {
    142      success = (typeof(ex.code) != 'undefined' && ex.code == 7);
    143 	}
    144 	assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success);
    145 }
    146 
    147 }
    148 
    149 </script>
    150 </head>
    151 <body>
    152 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementsetattributenodenomodificationallowederr</h2>
    153 <p></p>
    154 <p>
    155 Copyright (c) 2001-2004 World Wide Web Consortium, 
    156 (Massachusetts Institute of Technology, European Research Consortium 
    157 for Informatics and Mathematics, Keio University). All 
    158 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 
    159 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
    160 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
    161 </p>
    162 </body>
    163 </html>