dom/tests/mochitest/dom-level2-core/test_importNode04.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/importNode04</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 ['importNode04'];
    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", "staff");
    46       var aNewDocRef = null;
    47       if (typeof(this.aNewDoc) != 'undefined') {
    48         aNewDocRef = this.aNewDoc;
    49       }
    50       docsLoaded += preload(aNewDocRef, "aNewDoc", "staff");
    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 = 'importNode04';
    80 /**
    81 * 
    82     The "importNode(importedNode,deep)" method for a 
    83    Document should import the given importedNode into that Document.
    84    The importedNode is of type Document_Fragment.
    86    Create a DocumentFragment in a different document.
    87    Create a Comment child node for the Document Fragment.
    88    Invoke method importNode(importedNode,deep) on this document
    89    with importedNode being the newly created DocumentFragment.
    90    Method should return a node of type DocumentFragment whose child has
    91    comment value "descendant1".
    93 * @author NIST
    94 * @author Mary Brady
    95 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode
    96 */
    97 function importNode04() {
    98    var success;
    99     if(checkInitialization(builder, "importNode04") != null) return;
   100     var doc;
   101       var aNewDoc;
   102       var docFrag;
   103       var comment;
   104       var aNode;
   105       var children;
   106       var child;
   107       var childValue;
   109       var docRef = null;
   110       if (typeof(this.doc) != 'undefined') {
   111         docRef = this.doc;
   112       }
   113       doc = load(docRef, "doc", "staff");
   115       var aNewDocRef = null;
   116       if (typeof(this.aNewDoc) != 'undefined') {
   117         aNewDocRef = this.aNewDoc;
   118       }
   119       aNewDoc = load(aNewDocRef, "aNewDoc", "staff");
   120       docFrag = aNewDoc.createDocumentFragment();
   121       comment = aNewDoc.createComment("descendant1");
   122       aNode = docFrag.appendChild(comment);
   123       aNode = doc.importNode(docFrag,true);
   124       children = aNode.childNodes;
   126       assertSize("throw_Size",1,children);
   127 child = aNode.firstChild;
   129       childValue = child.nodeValue;
   131       assertEquals("descendant1","descendant1",childValue);
   133 }
   135 </script>
   136 </head>
   137 <body>
   138 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode04</h2>
   139 <p></p>
   140 <p>
   141 Copyright (c) 2001-2004 World Wide Web Consortium, 
   142 (Massachusetts Institute of Technology, European Research Consortium 
   143 for Informatics and Mathematics, Keio University). All 
   144 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 
   145 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
   146 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
   147 </p>
   148 </body>
   149 </html>

mercurial