forked from KolibriOS/kolibrios
90 lines
3.6 KiB
Plaintext
90 lines
3.6 KiB
Plaintext
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!--
|
||
|
Copyright (c) 2001-2004 World Wide Web Consortium,
|
||
|
(Massachusetts Institute of Technology, Institut National de
|
||
|
Recherche en Informatique et en Automatique, Keio University). All
|
||
|
Rights Reserved. This program is distributed under the W3C's Software
|
||
|
Intellectual Property License. This program is distributed in the
|
||
|
hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||
|
PURPOSE.
|
||
|
See W3C License http://www.w3.org/Consortium/Legal/ for more details.
|
||
|
--><!DOCTYPE test SYSTEM "dom1.dtd">
|
||
|
|
||
|
<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenewchildexists">
|
||
|
<metadata>
|
||
|
<title>nodeInsertBeforeNewChildExists</title>
|
||
|
<creator>NIST</creator>
|
||
|
<description>
|
||
|
If the "newChild" is already in the tree, the
|
||
|
"insertBefore(newChild,refChild)" method must first
|
||
|
remove it before the insertion takes place.
|
||
|
|
||
|
Insert a node Element ("employeeId") that is already
|
||
|
present in the tree. The existing node should be
|
||
|
removed first and the new one inserted. The node is
|
||
|
inserted at a different position in the tree to assure
|
||
|
that it was indeed inserted.
|
||
|
</description>
|
||
|
<contributor>Mary Brady</contributor>
|
||
|
<date qualifier="created">2001-08-17</date>
|
||
|
<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
|
||
|
</metadata>
|
||
|
<var name="doc" type="Document"/>
|
||
|
<var name="elementList" type="NodeList"/>
|
||
|
<var name="employeeNode" type="Node"/>
|
||
|
<var name="childList" type="NodeList"/>
|
||
|
<var name="refChild" type="Node"/>
|
||
|
<var name="newChild" type="Node"/>
|
||
|
<var name="child" type="Node"/>
|
||
|
<var name="length" type="int"/>
|
||
|
<var name="childName" type="DOMString"/>
|
||
|
<var name="insertedNode" type="Node"/>
|
||
|
<var name="expectedWhitespace" type="List">
|
||
|
<member>"#text"</member>
|
||
|
<member>"#text"</member>
|
||
|
<member>"name"</member>
|
||
|
<member>"#text"</member>
|
||
|
<member>"position"</member>
|
||
|
<member>"#text"</member>
|
||
|
<member>"salary"</member>
|
||
|
<member>"#text"</member>
|
||
|
<member>"gender"</member>
|
||
|
<member>"#text"</member>
|
||
|
<member>"employeeId"</member>
|
||
|
<member>"address"</member>
|
||
|
<member>"#text"</member>
|
||
|
</var>
|
||
|
<var name="expectedNoWhitespace" type="List">
|
||
|
<member>"name"</member>
|
||
|
<member>"position"</member>
|
||
|
<member>"salary"</member>
|
||
|
<member>"gender"</member>
|
||
|
<member>"employeeId"</member>
|
||
|
<member>"address"</member>
|
||
|
</var>
|
||
|
<var name="expected" type="List"/>
|
||
|
<var name="result" type="List"/>
|
||
|
<load var="doc" href="staff" willBeModified="true"/>
|
||
|
<getElementsByTagName interface="Document" obj="doc" tagname=""employee"" var="elementList"/>
|
||
|
<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
|
||
|
<childNodes obj="employeeNode" var="childList"/>
|
||
|
<length var="length" obj="childList" interface="NodeList"/>
|
||
|
<if><equals actual="length" expected="6" ignoreCase="false"/>
|
||
|
<assign var="expected" value="expectedNoWhitespace"/>
|
||
|
<item interface="NodeList" obj="childList" index="5" var="refChild"/>
|
||
|
<item interface="NodeList" obj="childList" index="0" var="newChild"/>
|
||
|
<else>
|
||
|
<assign var="expected" value="expectedWhitespace"/>
|
||
|
<item interface="NodeList" obj="childList" index="11" var="refChild"/>
|
||
|
<item interface="NodeList" obj="childList" index="1" var="newChild"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
|
||
|
<for-each collection="childList" member="child">
|
||
|
<nodeName obj="child" var="childName"/>
|
||
|
<append collection="result" item="childName"/>
|
||
|
</for-each>
|
||
|
<assertEquals id="childNames" actual="result" expected="expected" ignoreCase="false"/>
|
||
|
</test>
|