• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
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/documentadoptnode01";
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
43      docsLoaded = 0;
44
45      var docRef = null;
46      if (typeof(this.doc) != 'undefined') {
47        docRef = this.doc;
48      }
49      docsLoaded += preload(docRef, "doc", "hc_staff");
50
51       if (docsLoaded == 1) {
52          setUpPageStatus = 'complete';
53       }
54    } catch(ex) {
55    	catchInitializationError(builder, ex);
56        setUpPageStatus = 'complete';
57    }
58}
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.
69function loadComplete() {
70    if (++docsLoaded == 1) {
71        setUpPageStatus = 'complete';
72    }
73}
74
75
76/**
77*
78	Adopt the class attribute node of the fourth acronym element.  Check if this attribute has been adopted successfully by verifying the
79	nodeName, nodeType, nodeValue, specified and ownerElement attributes of the adopted node.
80
81* @author IBM
82* @author Neil Delima
83* @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#Document3-adoptNode
84*/
85function documentadoptnode01() {
86   var success;
87    if(checkInitialization(builder, "documentadoptnode01") != null) return;
88    var doc;
89      var attrOwnerElem;
90      var element;
91      var attr;
92      var childList;
93      var adoptedclass;
94      var attrsParent;
95      var nodeName;
96      var nodeType;
97      var nodeValue;
98      var firstChild;
99      var firstChildValue;
100      var secondChild;
101      var secondChildType;
102      var secondChildName;
103
104      var docRef = null;
105      if (typeof(this.doc) != 'undefined') {
106        docRef = this.doc;
107      }
108      doc = load(docRef, "doc", "hc_staff");
109      childList = doc.getElementsByTagName("acronym");
110      element = childList.item(3);
111      attr = element.getAttributeNode("class");
112      adoptedclass = doc.adoptNode(attr);
113
114	if(
115
116	(adoptedclass != null)
117
118	) {
119	nodeName = adoptedclass.nodeName;
120
121      nodeValue = adoptedclass.nodeValue;
122
123      nodeType = adoptedclass.nodeType;
124
125      attrOwnerElem = adoptedclass.ownerElement;
126
127      assertEquals("documentadoptode01_nodeName","class",nodeName);
128       assertEquals("documentadoptNode01_nodeType",2,nodeType);
129       assertNull("documentadoptnode01_ownerDoc",attrOwnerElem);
130    firstChild = adoptedclass.firstChild;
131
132      assertNotNull("firstChildNotNull",firstChild);
133firstChildValue = firstChild.nodeValue;
134
135
136	if(
137	("Y" == firstChildValue)
138	) {
139	secondChild = firstChild.nextSibling;
140
141      assertNotNull("secondChildNotNull",secondChild);
142secondChildType = secondChild.nodeType;
143
144      assertEquals("secondChildIsEntityReference",5,secondChildType);
145       secondChildName = secondChild.nodeName;
146
147      assertEquals("secondChildIsEnt1Reference","alpha",secondChildName);
148
149	}
150
151		else {
152			assertEquals("documentadoptnode01_nodeValue","Yα",nodeValue);
153
154		}
155
156	}
157
158}
159
160
161
162
163function runTest() {
164   documentadoptnode01();
165}
166