1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/mochitest/dom-level2-core/test_documentimportnode21.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,178 @@ 1.4 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> 1.5 +<html> 1.6 +<head> 1.7 +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 1.8 +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 1.9 +<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode21</title> 1.10 +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 1.11 +<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.12 +<script type="text/javascript" src="DOMTestCase.js"></script> 1.13 +<script type="text/javascript" src="exclusions.js"></script> 1.14 +<script type="text/javascript"> 1.15 +// expose test function names 1.16 +function exposeTestFunctionNames() 1.17 +{ 1.18 +return ['documentimportnode21']; 1.19 +} 1.20 + 1.21 +var docsLoaded = -1000000; 1.22 +var builder = null; 1.23 + 1.24 +// 1.25 +// This function is called by the testing framework before 1.26 +// running the test suite. 1.27 +// 1.28 +// If there are no configuration exceptions, asynchronous 1.29 +// document loading is started. Otherwise, the status 1.30 +// is set to complete and the exception is immediately 1.31 +// raised when entering the body of the test. 1.32 +// 1.33 +function setUpPage() { 1.34 + setUpPageStatus = 'running'; 1.35 + try { 1.36 + // 1.37 + // creates test document builder, may throw exception 1.38 + // 1.39 + builder = createConfiguredBuilder(); 1.40 + setImplementationAttribute("namespaceAware", true); 1.41 + setImplementationAttribute("expandEntityReferences", false); 1.42 + 1.43 + docsLoaded = 0; 1.44 + 1.45 + var docRef = null; 1.46 + if (typeof(this.doc) != 'undefined') { 1.47 + docRef = this.doc; 1.48 + } 1.49 + docsLoaded += preload(docRef, "doc", "staffNS"); 1.50 + 1.51 + if (docsLoaded == 1) { 1.52 + setUpPage = 'complete'; 1.53 + } 1.54 + } catch(ex) { 1.55 + catchInitializationError(builder, ex); 1.56 + setUpPage = 'complete'; 1.57 + } 1.58 +} 1.59 + 1.60 +// 1.61 +// This method is called on the completion of 1.62 +// each asychronous load started in setUpTests. 1.63 +// 1.64 +// When every synchronous loaded document has completed, 1.65 +// the page status is changed which allows the 1.66 +// body of the test to be executed. 1.67 +function loadComplete() { 1.68 + if (++docsLoaded == 1) { 1.69 + setUpPageStatus = 'complete'; 1.70 + runJSUnitTests(); 1.71 + markTodos(); 1.72 + SimpleTest.finish(); 1.73 + } 1.74 +} 1.75 + 1.76 +var docName = 'documentimportnode21'; 1.77 + 1.78 + 1.79 +/** 1.80 +* 1.81 + The importNode method imports a node from another document to this document. 1.82 + The returned node has no parent; (parentNode is null). The source node is not 1.83 + altered or removed from the original document but a new copy of the source node 1.84 + is created. 1.85 + 1.86 + Using the method importNode with deep=true, retreive the entity refs present in the 1.87 + second element node whose tagName is address and import these nodes into another document. 1.88 + Verify if the nodes have been imported correctly by checking the nodeNames of the 1.89 + imported nodes, since they are imported into a new document which doesnot have thes defined, 1.90 + the imported nodes should not have any children. 1.91 + Now import the entityRef nodes into the same document and verify if the nodes have been 1.92 + imported correctly by checking the nodeNames of the imported nodes, and by checking the 1.93 + value of the replacement text of the imported nodes. 1.94 + 1.95 +* @author IBM 1.96 +* @author Neil Delima 1.97 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core 1.98 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode 1.99 +*/ 1.100 +function documentimportnode21() { 1.101 + var success; 1.102 + if(checkInitialization(builder, "documentimportnode21") != null) return; 1.103 + var doc; 1.104 + var docTypeNull = null; 1.105 + 1.106 + var docImp; 1.107 + var domImpl; 1.108 + var addressList; 1.109 + var addressChildList; 1.110 + var element; 1.111 + var entRef2; 1.112 + var entRefImp2; 1.113 + var entRef3; 1.114 + var entRefImp3; 1.115 + var nodeName2; 1.116 + var nodeName3; 1.117 + var nodeNameImp2; 1.118 + var nodeNameImp3; 1.119 + var nodes; 1.120 + var nodeImp3; 1.121 + var nodeImp2; 1.122 + var nodeValueImp2; 1.123 + var nodeValueImp3; 1.124 + 1.125 + var docRef = null; 1.126 + if (typeof(this.doc) != 'undefined') { 1.127 + docRef = this.doc; 1.128 + } 1.129 + doc = load(docRef, "doc", "staffNS"); 1.130 + domImpl = doc.implementation; 1.131 +docImp = domImpl.createDocument("http://www.w3.org/DOM/Test","a:b",docTypeNull); 1.132 + addressList = doc.getElementsByTagName("address"); 1.133 + element = addressList.item(1); 1.134 + addressChildList = element.childNodes; 1.135 + 1.136 + entRef2 = addressChildList.item(0); 1.137 + entRef3 = addressChildList.item(2); 1.138 + entRefImp2 = docImp.importNode(entRef2,true); 1.139 + entRefImp3 = docImp.importNode(entRef3,false); 1.140 + nodeName2 = entRef2.nodeName; 1.141 + 1.142 + nodeName3 = entRef3.nodeName; 1.143 + 1.144 + nodeNameImp2 = entRefImp2.nodeName; 1.145 + 1.146 + nodeNameImp3 = entRefImp3.nodeName; 1.147 + 1.148 + assertEquals("documentimportnode21_Ent2NodeName",nodeName2,nodeNameImp2); 1.149 + assertEquals("documentimportnode21_Ent3NodeName",nodeName3,nodeNameImp3); 1.150 + entRefImp2 = doc.importNode(entRef2,true); 1.151 + entRefImp3 = doc.importNode(entRef3,false); 1.152 + nodes = entRefImp2.childNodes; 1.153 + 1.154 + nodeImp2 = nodes.item(0); 1.155 + nodeValueImp2 = nodeImp2.nodeValue; 1.156 + 1.157 + nodes = entRefImp3.childNodes; 1.158 + 1.159 + nodeImp3 = nodes.item(0); 1.160 + nodeValueImp3 = nodeImp3.nodeValue; 1.161 + 1.162 + assertEquals("documentimportnode21_Ent2NodeValue","1900 Dallas Road",nodeValueImp2); 1.163 + assertEquals("documentimportnode21_Ent3Nodevalue","Texas",nodeValueImp3); 1.164 + 1.165 +} 1.166 + 1.167 +</script> 1.168 +</head> 1.169 +<body> 1.170 +<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode21</h2> 1.171 +<p></p> 1.172 +<p> 1.173 +Copyright (c) 2001-2004 World Wide Web Consortium, 1.174 +(Massachusetts Institute of Technology, European Research Consortium 1.175 +for Informatics and Mathematics, Keio University). All 1.176 +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 1.177 +hope that it will be useful, but WITHOUT ANY WARRANTY; without even 1.178 +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 1.179 +</p> 1.180 +</body> 1.181 +</html>