blob: ed7d705450faafb0daafd935c246445ccf586288 [file] [log] [blame]
eseidela1721e92005-09-26 23:39:51 +00001
2/*
3Copyright © 2001-2004 World Wide Web Consortium,
4(Massachusetts Institute of Technology, European Research Consortium
5for Informatics and Mathematics, Keio University). All
6Rights Reserved. This work is distributed under the W3C® Software License [1] in the
7hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9
10[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
11*/
12
13
14
15 /**
16 * Gets URI that identifies the test.
17 * @return uri identifier of test
18 */
19function getTargetURI() {
20 return "http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentrenamenode23";
21 }
22
23var docsLoaded = -1000000;
24var builder = null;
25
26//
27// This function is called by the testing framework before
28// running the test suite.
29//
30// If there are no configuration exceptions, asynchronous
31// document loading is started. Otherwise, the status
32// is set to complete and the exception is immediately
33// raised when entering the body of the test.
34//
35function setUpPage() {
36 setUpPageStatus = 'running';
37 try {
38 //
39 // creates test document builder, may throw exception
40 //
41 builder = createConfiguredBuilder();
42 setImplementationAttribute("namespaceAware", true);
43
44 docsLoaded = 0;
45
46 var docRef = null;
47 if (typeof(this.doc) != 'undefined') {
48 docRef = this.doc;
49 }
50 docsLoaded += preload(docRef, "doc", "hc_staff");
51
52 if (docsLoaded == 1) {
53 setUpPage = 'complete';
54 }
55 } catch(ex) {
56 catchInitializationError(builder, ex);
57 setUpPage = 'complete';
58 }
59}
60
61
62
63//
64// This method is called on the completion of
65// each asychronous load started in setUpTests.
66//
67// When every synchronous loaded document has completed,
68// the page status is changed which allows the
69// body of the test to be executed.
70function loadComplete() {
71 if (++docsLoaded == 1) {
72 setUpPageStatus = 'complete';
73 }
74}
75
76
77/**
78*
79 The method renameNode renames an existing node and raises a NOT_SUPPORTED_ERR
80 if the type of the specified node is neither ELEMENT_NODE nor ATTRIBUTE_NODE.
81
82 Invoke the renameNode method on this document node to attempt to rename itself.
83 Check if a NOT_SUPPORTED_ERR gets thrown.
84
85* @author IBM
86* @author Neil Delima
87* @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#Document3-renameNode
88*/
89function documentrenamenode23() {
90 var success;
91 if(checkInitialization(builder, "documentrenamenode23") != null) return;
92 var doc;
93 var renamedNode;
94 var docowner;
95
96 var docRef = null;
97 if (typeof(this.doc) != 'undefined') {
98 docRef = this.doc;
99 }
100 doc = load(docRef, "doc", "hc_staff");
101
102 {
103 success = false;
104 try {
105 renamedNode = doc.renameNode(doc,"http://www.w3.org/DOM/Test","root");
106 }
107 catch(ex) {
108 success = (typeof(ex.code) != 'undefined' && ex.code == 9);
109 }
110 assertTrue("documentrenamenode23_NOT_SUPPORTED_ERR",success);
111 }
112
113}
114
115
116
117
118function runTest() {
119 documentrenamenode23();
120}