dom/tests/mochitest/dom-level2-core/test_setAttributeNodeNS02.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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/level2/core/setAttributeNodeNS02</title>
     7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
     8 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     9 <script type="text/javascript" src="DOMTestCase.js"></script>
    10 <script type="text/javascript" src="exclusions.js"></script>
    11 <script type="text/javascript">
    12 // expose test function names
    13 function exposeTestFunctionNames()
    14 {
    15 return ['setAttributeNodeNS02'];
    16 }
    18 var docsLoaded = -1000000;
    19 var builder = null;
    21 //
    22 //   This function is called by the testing framework before
    23 //      running the test suite.
    24 //
    25 //   If there are no configuration exceptions, asynchronous
    26 //        document loading is started.  Otherwise, the status
    27 //        is set to complete and the exception is immediately
    28 //        raised when entering the body of the test.
    29 //
    30 function setUpPage() {
    31    setUpPageStatus = 'running';
    32    try {
    33      //
    34      //   creates test document builder, may throw exception
    35      //
    36      builder = createConfiguredBuilder();
    37        setImplementationAttribute("namespaceAware", false);
    39       docsLoaded = 0;
    41       var docRef = null;
    42       if (typeof(this.doc) != 'undefined') {
    43         docRef = this.doc;
    44       }
    45       docsLoaded += preload(docRef, "doc", "staffNS");
    47        if (docsLoaded == 1) {
    48           setUpPage = 'complete';
    49        }
    50     } catch(ex) {
    51     	catchInitializationError(builder, ex);
    52         setUpPage = 'complete';
    53     }
    54 }
    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 }
    72 var docName = 'setAttributeNodeNS02';
    75 /**
    76 * 
    77     The "setAttributeNodeNS(namespaceURI,qualifiedName,value)" method for an attribute causes the 
    78    DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
    79    if the node is readonly.
    81    Obtain the children of the THIRD "gender" element.  The elements
    82    content is an entity reference.  Try to set an attribute
    83    in the entity reference by executing the 
    84    "setAttributeNodeNS(newAttr)" method.
    85    This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
    87 * @author NIST
    88 * @author Mary Brady
    89 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])
    90 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS
    91 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElSetAtNodeNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])
    92 */
    93 function setAttributeNodeNS02() {
    94    var success;
    95     if(checkInitialization(builder, "setAttributeNodeNS02") != null) return;
    96     var doc;
    97       var genderList;
    98       var gender;
    99       var genList;
   100       var gen;
   101       var gList;
   102       var genElement;
   103       var newAttr;
   104       var setAttr1;
   106       var docRef = null;
   107       if (typeof(this.doc) != 'undefined') {
   108         docRef = this.doc;
   109       }
   110       doc = load(docRef, "doc", "staffNS");
   112 	if(
   113 	(getImplementationAttribute("expandEntityReferences") == false)
   114 	) {
   115 	genderList = doc.getElementsByTagName("gender");
   116       gender = genderList.item(2);
   117       genList = gender.childNodes;
   119       gen = genList.item(0);
   121 	}
   123 		else {
   124 			gen = doc.createEntityReference("ent4");
   126 		}
   127 	gList = gen.childNodes;
   129       genElement = gList.item(0);
   130       assertNotNull("notnull",genElement);
   131 newAttr = doc.createAttributeNS("www.xyz.com","emp:local1");
   133 	{
   134 		success = false;
   135 		try {
   136             setAttr1 = genElement.setAttributeNodeNS(newAttr);
   137         }
   138 		catch(ex) {
   139       success = (typeof(ex.code) != 'undefined' && ex.code == 7);
   140 		}
   141 		assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success);
   142 	}
   144 }
   146 </script>
   147 </head>
   148 <body>
   149 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/setAttributeNodeNS02</h2>
   150 <p></p>
   151 <p>
   152 Copyright (c) 2001-2004 World Wide Web Consortium, 
   153 (Massachusetts Institute of Technology, European Research Consortium 
   154 for Informatics and Mathematics, Keio University). All 
   155 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 
   156 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
   157 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
   158 </p>
   159 </body>
   160 </html>

mercurial