1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/mochitest/dom-level2-core/test_importNode01.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,181 @@ 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/importNode01</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 ['importNode01']; 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 + 1.41 + docsLoaded = 0; 1.42 + 1.43 + var docRef = null; 1.44 + if (typeof(this.doc) != 'undefined') { 1.45 + docRef = this.doc; 1.46 + } 1.47 + docsLoaded += preload(docRef, "doc", "staffNS"); 1.48 + 1.49 + var aNewDocRef = null; 1.50 + if (typeof(this.aNewDoc) != 'undefined') { 1.51 + aNewDocRef = this.aNewDoc; 1.52 + } 1.53 + docsLoaded += preload(aNewDocRef, "aNewDoc", "staffNS"); 1.54 + 1.55 + if (docsLoaded == 2) { 1.56 + setUpPage = 'complete'; 1.57 + } 1.58 + } catch(ex) { 1.59 + catchInitializationError(builder, ex); 1.60 + setUpPage = 'complete'; 1.61 + } 1.62 +} 1.63 + 1.64 +// 1.65 +// This method is called on the completion of 1.66 +// each asychronous load started in setUpTests. 1.67 +// 1.68 +// When every synchronous loaded document has completed, 1.69 +// the page status is changed which allows the 1.70 +// body of the test to be executed. 1.71 +function loadComplete() { 1.72 + if (++docsLoaded == 2) { 1.73 + setUpPageStatus = 'complete'; 1.74 + runJSUnitTests(); 1.75 + markTodos(); 1.76 + SimpleTest.finish(); 1.77 + } 1.78 +} 1.79 + 1.80 +var docName = 'importNode01'; 1.81 + 1.82 + 1.83 +/** 1.84 +* 1.85 + The "importNode(importedNode,deep)" method for a 1.86 + Document should import the given importedNode into that Document. 1.87 + The importedNode is of type Attr. 1.88 + The ownerElement is set to null. Specified flag is set to true. 1.89 + Children is imported. 1.90 + 1.91 + Create a new attribute whose name is "elem:attr1" in a different document. 1.92 + Create a child Text node with value "importedText" for the attribute node above. 1.93 + Invoke method importNode(importedNode,deep) on this document with 1.94 + importedNode being the newly created attribute. 1.95 + Method should return a node whose name matches "elem:attr1" and a child node 1.96 + whose value equals "importedText". 1.97 + The returned node should belong to this document whose systemId is "staff.dtd" 1.98 + 1.99 +* @author NIST 1.100 +* @author Mary Brady 1.101 +* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode 1.102 +*/ 1.103 +function importNode01() { 1.104 + var success; 1.105 + if(checkInitialization(builder, "importNode01") != null) return; 1.106 + var doc; 1.107 + var aNewDoc; 1.108 + var newAttr; 1.109 + var importedChild; 1.110 + var aNode; 1.111 + var ownerDocument; 1.112 + var attrOwnerElement; 1.113 + var docType; 1.114 + var system; 1.115 + var specified; 1.116 + var childList; 1.117 + var nodeName; 1.118 + var child; 1.119 + var childValue; 1.120 + var result = new Array(); 1.121 + 1.122 + expectedResult = new Array(); 1.123 + expectedResult[0] = "elem:attr1"; 1.124 + expectedResult[1] = "importedText"; 1.125 + 1.126 + 1.127 + var docRef = null; 1.128 + if (typeof(this.doc) != 'undefined') { 1.129 + docRef = this.doc; 1.130 + } 1.131 + doc = load(docRef, "doc", "staffNS"); 1.132 + 1.133 + var aNewDocRef = null; 1.134 + if (typeof(this.aNewDoc) != 'undefined') { 1.135 + aNewDocRef = this.aNewDoc; 1.136 + } 1.137 + aNewDoc = load(aNewDocRef, "aNewDoc", "staffNS"); 1.138 + newAttr = aNewDoc.createAttribute("elem:attr1"); 1.139 + importedChild = aNewDoc.createTextNode("importedText"); 1.140 + aNode = newAttr.appendChild(importedChild); 1.141 + aNode = doc.importNode(newAttr,false); 1.142 + ownerDocument = aNode.ownerDocument; 1.143 + 1.144 + docType = ownerDocument.doctype; 1.145 + 1.146 + system = docType.systemId; 1.147 + 1.148 + assertNotNull("aNode",aNode); 1.149 +assertURIEquals("systemId",null,null,null,"staffNS.dtd",null,null,null,null,system); 1.150 +attrOwnerElement = aNode.ownerElement; 1.151 + 1.152 + assertNull("ownerElement",attrOwnerElement); 1.153 + specified = aNode.specified; 1.154 + 1.155 + assertTrue("specified",specified); 1.156 +childList = aNode.childNodes; 1.157 + 1.158 + assertSize("childList",1,childList); 1.159 +nodeName = aNode.nodeName; 1.160 + 1.161 + assertEquals("nodeName","elem:attr1",nodeName); 1.162 + child = aNode.firstChild; 1.163 + 1.164 + childValue = child.nodeValue; 1.165 + 1.166 + assertEquals("childValue","importedText",childValue); 1.167 + 1.168 +} 1.169 + 1.170 +</script> 1.171 +</head> 1.172 +<body> 1.173 +<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode01</h2> 1.174 +<p></p> 1.175 +<p> 1.176 +Copyright (c) 2001-2004 World Wide Web Consortium, 1.177 +(Massachusetts Institute of Technology, European Research Consortium 1.178 +for Informatics and Mathematics, Keio University). All 1.179 +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.180 +hope that it will be useful, but WITHOUT ANY WARRANTY; without even 1.181 +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 1.182 +</p> 1.183 +</body> 1.184 +</html>