Tue, 06 Jan 2015 21:39:09 +0100
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/importNode14</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 ['importNode14'];
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 = 'importNode14';
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 Processing Instruction.
86 Create a processing instruction with target as "target1" and data as "data1"
87 in a different document. Invoke method importNode(importedNode,deep) on this document.
88 Method should return a processing instruction whose target and data match the given
89 parameters. The returned PI should belong to this document whose systemId is "staff.dtd".
91 * @author NIST
92 * @author Mary Brady
93 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode
94 */
95 function importNode14() {
96 var success;
97 if(checkInitialization(builder, "importNode14") != null) return;
98 var doc;
99 var aNewDoc;
100 var pi;
101 var aNode;
102 var ownerDocument;
103 var docType;
104 var system;
105 var target;
106 var data;
107 var result = new Array();
110 var docRef = null;
111 if (typeof(this.doc) != 'undefined') {
112 docRef = this.doc;
113 }
114 doc = load(docRef, "doc", "staffNS");
116 var aNewDocRef = null;
117 if (typeof(this.aNewDoc) != 'undefined') {
118 aNewDocRef = this.aNewDoc;
119 }
120 aNewDoc = load(aNewDocRef, "aNewDoc", "staffNS");
121 pi = aNewDoc.createProcessingInstruction("target1","data1");
122 aNode = doc.importNode(pi,false);
123 ownerDocument = aNode.ownerDocument;
125 assertNotNull("ownerDocumentNotNull",ownerDocument);
126 docType = ownerDocument.doctype;
128 system = docType.systemId;
130 assertURIEquals("systemId",null,null,null,"staffNS.dtd",null,null,null,null,system);
131 target = aNode.target;
133 assertEquals("piTarget","target1",target);
134 data = aNode.data;
136 assertEquals("piData","data1",data);
138 }
140 </script>
141 </head>
142 <body>
143 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode14</h2>
144 <p></p>
145 <p>
146 Copyright (c) 2001-2004 World Wide Web Consortium,
147 (Massachusetts Institute of Technology, European Research Consortium
148 for Informatics and Mathematics, Keio University). All
149 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
150 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
151 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
152 </p>
153 </body>
154 </html>