test_documentimportnode02.html (5142B)
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/documentimportnode02</title> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 8 <script 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 ['documentimportnode02']; 16 } 17 18 var docsLoaded = -1000000; 19 var builder = null; 20 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(); 37 setImplementationAttribute("namespaceAware", true); 38 39 docsLoaded = 0; 40 41 var docRef = null; 42 if (typeof(this.doc) != 'undefined') { 43 docRef = this.doc; 44 } 45 docsLoaded += preload(docRef, "doc", "staffNS"); 46 47 var docImportedRef = null; 48 if (typeof(this.docImported) != 'undefined') { 49 docImportedRef = this.docImported; 50 } 51 docsLoaded += preload(docImportedRef, "docImported", "staff"); 52 53 if (docsLoaded == 2) { 54 setUpPage = 'complete'; 55 } 56 } catch(ex) { 57 catchInitializationError(builder, ex); 58 setUpPage = 'complete'; 59 } 60 } 61 62 // 63 // This method is called on the completion of 64 // each asychronous load started in setUpTests. 65 // 66 // When every synchronous loaded document has completed, 67 // the page status is changed which allows the 68 // body of the test to be executed. 69 function loadComplete() { 70 if (++docsLoaded == 2) { 71 setUpPageStatus = 'complete'; 72 runJSUnitTests(); 73 markTodos(); 74 SimpleTest.finish(); 75 } 76 } 77 78 var docName = 'documentimportnode02'; 79 80 81 /** 82 * 83 The importNode method imports a node from another document to this document. 84 The returned node has no parent; (parentNode is null). The source node is not 85 altered or removed from the original document but a new copy of the source node 86 is created. 87 88 Using the method importNode with deep=false, import the attribute, "emp:zone" of the 89 element node which is retreived by its elementId="CANADA", into the another document. 90 Check the parentNode, nodeName, nodeType and nodeValue of the imported node to 91 verify if it has been imported correctly. 92 93 * @author IBM 94 * @author Neil Delima 95 * @see http://www.w3.org/TR/DOM-Level-2-Core/core 96 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode 97 */ 98 function documentimportnode02() { 99 var success; 100 if(checkInitialization(builder, "documentimportnode02") != null) return; 101 var doc; 102 var docImported; 103 var element; 104 var attr; 105 var importedAttr; 106 var nodeName; 107 var nodeType; 108 var nodeValue; 109 var addresses; 110 var attrsParent; 111 112 var docRef = null; 113 if (typeof(this.doc) != 'undefined') { 114 docRef = this.doc; 115 } 116 doc = load(docRef, "doc", "staffNS"); 117 118 var docImportedRef = null; 119 if (typeof(this.docImported) != 'undefined') { 120 docImportedRef = this.docImported; 121 } 122 docImported = load(docImportedRef, "docImported", "staff"); 123 addresses = doc.getElementsByTagNameNS("http://www.nist.gov","address"); 124 element = addresses.item(1); 125 attr = element.getAttributeNodeNS("http://www.nist.gov","zone"); 126 importedAttr = docImported.importNode(attr,false); 127 nodeName = importedAttr.nodeName; 128 129 nodeType = importedAttr.nodeType; 130 131 nodeValue = importedAttr.nodeValue; 132 133 attrsParent = importedAttr.parentNode; 134 135 assertNull("documentimportnode02_parentNull",attrsParent); 136 assertEquals("documentimportnode02_nodeName","emp:zone",nodeName); 137 assertEquals("documentimportnode02_nodeType",2,nodeType); 138 assertEquals("documentimportnode02_nodeValue","CANADA",nodeValue); 139 140 } 141 142 </script> 143 </head> 144 <body> 145 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode02</h2> 146 <p></p> 147 <p> 148 Copyright (c) 2001-2004 World Wide Web Consortium, 149 (Massachusetts Institute of Technology, European Research Consortium 150 for Informatics and Mathematics, Keio University). All 151 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 152 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 153 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 154 </p> 155 </body> 156 </html>