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

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     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/setNamedItemNS02</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 ['setNamedItemNS02'];
    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();
    38       docsLoaded = 0;
    40       var docRef = null;
    41       if (typeof(this.doc) != 'undefined') {
    42         docRef = this.doc;
    43       }
    44       docsLoaded += preload(docRef, "doc", "staffNS");
    46       var anotherDocRef = null;
    47       if (typeof(this.anotherDoc) != 'undefined') {
    48         anotherDocRef = this.anotherDoc;
    49       }
    50       docsLoaded += preload(anotherDocRef, "anotherDoc", "staffNS");
    52        if (docsLoaded == 2) {
    53           setUpPage = 'complete';
    54        }
    55     } catch(ex) {
    56     	catchInitializationError(builder, ex);
    57         setUpPage = 'complete';
    58     }
    59 }
    61 //
    62 //   This method is called on the completion of 
    63 //      each asychronous load started in setUpTests.
    64 //
    65 //   When every synchronous loaded document has completed,
    66 //      the page status is changed which allows the
    67 //      body of the test to be executed.
    68 function loadComplete() {
    69   if (++docsLoaded == 2) {
    70     setUpPageStatus = 'complete';
    71     runJSUnitTests();
    72     markTodos();
    73     SimpleTest.finish();
    74   }
    75 }
    77 var docName = 'setNamedItemNS02';
    80 /**
    81 * 
    82     The "setNamedItemNS(arg)" method for a 
    83    NamedNodeMap should raise WRONG_DOCUMENT_ERR DOMException if arg was
    84    created from a different document than the one that created this map.
    86    Create an attr node in a different document with qualifiedName equals
    87    "dmstc:domestic" and namespaceURI is "http://www.usa.com".
    88    Access the namednodemap of the first "address" element in this document.
    89    Invoke method setNamedItemNS(arg) with arg being the attr node from above.
    90    Method should raise WRONG_DOCUMENT_ERR DOMException.
    92 * @author NIST
    93 * @author Mary Brady
    94 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])
    95 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS
    96 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-setNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])
    97 */
    98 function setNamedItemNS02() {
    99    var success;
   100     if(checkInitialization(builder, "setNamedItemNS02") != null) return;
   101     var namespaceURI = "http://www.usa.com";
   102       var qualifiedName = "dmstc:domestic";
   103       var doc;
   104       var anotherDoc;
   105       var arg;
   106       var elementList;
   107       var testAddress;
   108       var attributes;
   109       var setNode;
   111       var docRef = null;
   112       if (typeof(this.doc) != 'undefined') {
   113         docRef = this.doc;
   114       }
   115       doc = load(docRef, "doc", "staffNS");
   117       var anotherDocRef = null;
   118       if (typeof(this.anotherDoc) != 'undefined') {
   119         anotherDocRef = this.anotherDoc;
   120       }
   121       anotherDoc = load(anotherDocRef, "anotherDoc", "staffNS");
   122       arg = anotherDoc.createAttributeNS(namespaceURI,qualifiedName);
   123       arg.nodeValue = "Maybe";
   125       elementList = doc.getElementsByTagName("address");
   126       testAddress = elementList.item(0);
   127       attributes = testAddress.attributes;
   130 	{
   131 		success = false;
   132 		try {
   133             setNode = attributes.setNamedItemNS(arg);
   134         }
   135 		catch(ex) {
   136       success = (typeof(ex.code) != 'undefined' && ex.code == 4);
   137 		}
   138 		assertTrue("throw_WRONG_DOCUMENT_ERR",success);
   139 	}
   141 }
   143 </script>
   144 </head>
   145 <body>
   146 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/setNamedItemNS02</h2>
   147 <p></p>
   148 <p>
   149 Copyright (c) 2001-2004 World Wide Web Consortium, 
   150 (Massachusetts Institute of Technology, European Research Consortium 
   151 for Informatics and Mathematics, Keio University). All 
   152 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 
   153 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
   154 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
   155 </p>
   156 </body>
   157 </html>

mercurial