dom/tests/mochitest/dom-level2-core/test_createDocument04.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/createDocument04</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 ['createDocument04'];
    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 aNewDocRef = null;
    47       if (typeof(this.aNewDoc) != 'undefined') {
    48         aNewDocRef = this.aNewDoc;
    49       }
    50       docsLoaded += preload(aNewDocRef, "aNewDoc", "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 = 'createDocument04';
    80 /**
    81 * 
    82     The "createDocument(namespaceURI,qualifiedName,doctype)" method for a 
    83    DOMImplementation should raise WRONG_DOCUMENT_ERR DOMException
    84    if parameter doctype was created from a different implementation.
    86    The specification has changed! No exception should be thrown.
    88    Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
    89    a domimplementation that is different from this domimplementation.
    90    Doctype is the type of this document.
    91    Method should raise WRONG_DOCUMENT_ERR DOMException.
    93 * @author NIST
    94 * @author Mary Brady
    95 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])
    96 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument
    97 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])
    98 */
    99 function createDocument04() {
   100    var success;
   101     if(checkInitialization(builder, "createDocument04") != null) return;
   102     var namespaceURI = "http://www.ecommerce.org/schema";
   103       var qualifiedName = "namespaceURI:x";
   104       var doc;
   105       var docType;
   106       var domImpl;
   107       var aNewDoc;
   109       var docRef = null;
   110       if (typeof(this.doc) != 'undefined') {
   111         docRef = this.doc;
   112       }
   113       doc = load(docRef, "doc", "staffNS");
   115       var aNewDocRef = null;
   116       if (typeof(this.aNewDoc) != 'undefined') {
   117         aNewDocRef = this.aNewDoc;
   118       }
   119       aNewDoc = load(aNewDocRef, "aNewDoc", "staffNS");
   120       docType = doc.doctype;
   122       domImpl = aNewDoc.implementation;
   124 	{
   125 		success = false;
   126 		try {
   127             aNewDoc = domImpl.createDocument(namespaceURI,qualifiedName,docType);
   128             success = true;
   129         }
   130 		catch(ex) {
   131       success = false;
   132 		}
   133 		assertTrue("no_throw_WRONG_DOCUMENT_ERR",success);
   134 	}
   136 }
   138 </script>
   139 </head>
   140 <body>
   141 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/createDocument04</h2>
   142 <p></p>
   143 <p>
   144 Copyright (c) 2001-2004 World Wide Web Consortium, 
   145 (Massachusetts Institute of Technology, European Research Consortium 
   146 for Informatics and Mathematics, Keio University). All 
   147 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 
   148 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
   149 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
   150 </p>
   151 </body>
   152 </html>

mercurial