1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/mochitest/dom-level1-core/test_nodeappendchildnewchilddiffdocument.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,159 @@ 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/level1/core/nodeappendchildnewchilddiffdocument</title> 1.10 +<link href="activity-home.css" rel="stylesheet" type="text/css"> 1.11 +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 1.12 +<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.13 +<script type="text/javascript" src="DOMTestCase.js"></script> 1.14 +<script type="text/javascript" src="exclusions.js"></script> 1.15 +<script type="text/javascript"> 1.16 +// expose test function names 1.17 +function exposeTestFunctionNames() 1.18 +{ 1.19 +return ['nodeappendchildnewchilddiffdocument']; 1.20 +} 1.21 + 1.22 +var docsLoaded = -1000000; 1.23 +var builder = null; 1.24 + 1.25 +// 1.26 +// This function is called by the testing framework before 1.27 +// running the test suite. 1.28 +// 1.29 +// If there are no configuration exceptions, asynchronous 1.30 +// document loading is started. Otherwise, the status 1.31 +// is set to complete and the exception is immediately 1.32 +// raised when entering the body of the test. 1.33 +// 1.34 +function setUpPage() { 1.35 + setUpPageStatus = 'running'; 1.36 + try { 1.37 + // 1.38 + // creates test document builder, may throw exception 1.39 + // 1.40 + builder = createConfiguredBuilder(); 1.41 + 1.42 + docsLoaded = 0; 1.43 + 1.44 + var doc1Ref = null; 1.45 + if (typeof(this.doc1) != 'undefined') { 1.46 + doc1Ref = this.doc1; 1.47 + } 1.48 + docsLoaded += preload(doc1Ref, "doc1", "staff"); 1.49 + 1.50 + var doc2Ref = null; 1.51 + if (typeof(this.doc2) != 'undefined') { 1.52 + doc2Ref = this.doc2; 1.53 + } 1.54 + docsLoaded += preload(doc2Ref, "doc2", "staff"); 1.55 + 1.56 + if (docsLoaded == 2) { 1.57 + setUpPage = 'complete'; 1.58 + } 1.59 + } catch(ex) { 1.60 + catchInitializationError(builder, ex); 1.61 + setUpPage = 'complete'; 1.62 + } 1.63 +} 1.64 + 1.65 +// 1.66 +// This method is called on the completion of 1.67 +// each asychronous load started in setUpTests. 1.68 +// 1.69 +// When every synchronous loaded document has completed, 1.70 +// the page status is changed which allows the 1.71 +// body of the test to be executed. 1.72 +function loadComplete() { 1.73 + if (++docsLoaded == 2) { 1.74 + setUpPageStatus = 'complete'; 1.75 + runJSUnitTests(); 1.76 + markTodos(); 1.77 + SimpleTest.finish(); 1.78 + } 1.79 +} 1.80 + 1.81 +var docName = 'nodeappendchildnewchilddiffdocument'; 1.82 + 1.83 + 1.84 + 1.85 +window.doc = window; 1.86 +SimpleTest.waitForExplicitFinish(); 1.87 +addLoadEvent(setUpPage); 1.88 + 1.89 + 1.90 +/** 1.91 +* 1.92 + The "appendChild(newChild)" method raises a 1.93 + WRONG_DOCUMENT_ERR DOMException if the "newChild" was 1.94 + created from a different document than the one that 1.95 + created this node. 1.96 + 1.97 + Retrieve the second employee and attempt to append 1.98 + a node created from a different document. An attempt 1.99 + to make such a replacement should raise the desired 1.100 + exception. 1.101 + 1.102 +* @author NIST 1.103 +* @author Mary Brady 1.104 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR']) 1.105 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 1.106 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR']) 1.107 +* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107 1.108 +* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=249 1.109 +*/ 1.110 +function nodeappendchildnewchilddiffdocument() { 1.111 + var success; 1.112 + if(checkInitialization(builder, "nodeappendchildnewchilddiffdocument") != null) return; 1.113 + var doc1; 1.114 + var doc2; 1.115 + var newChild; 1.116 + var elementList; 1.117 + var elementNode; 1.118 + var appendedChild; 1.119 + 1.120 + var doc1Ref = null; 1.121 + if (typeof(this.doc1) != 'undefined') { 1.122 + doc1Ref = this.doc1; 1.123 + } 1.124 + doc1 = load(doc1Ref, "doc1", "staff"); 1.125 + 1.126 + var doc2Ref = null; 1.127 + if (typeof(this.doc2) != 'undefined') { 1.128 + doc2Ref = this.doc2; 1.129 + } 1.130 + doc2 = load(doc2Ref, "doc2", "staff"); 1.131 + newChild = doc1.createElement("newChild"); 1.132 + elementList = doc2.getElementsByTagName("employee"); 1.133 + elementNode = elementList.item(1); 1.134 + 1.135 + { 1.136 + success = false; 1.137 + try { 1.138 + appendedChild = elementNode.appendChild(newChild); 1.139 + } 1.140 + catch(ex) { 1.141 + success = (typeof(ex.code) != 'undefined' && ex.code == 4); 1.142 + } 1.143 + assertTrue("throw_WRONG_DOCUMENT_ERR",success); 1.144 + } 1.145 + 1.146 +} 1.147 + 1.148 +</script> 1.149 +</head> 1.150 +<body> 1.151 +<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeappendchildnewchilddiffdocument</h2> 1.152 +<p></p> 1.153 +<p> 1.154 +Copyright (c) 2001-2004 World Wide Web Consortium, 1.155 +(Massachusetts Institute of Technology, European Research Consortium 1.156 +for Informatics and Mathematics, Keio University). All 1.157 +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.158 +hope that it will be useful, but WITHOUT ANY WARRANTY; without even 1.159 +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 1.160 +</p> 1.161 +</body> 1.162 +</html>