<?xml version="1.0" standalone="no"?>
<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
<!--
 Copyright (c) 2003 X-Hive Corporation

 All Rights Reserved. This work is distributed under the W3C(r)
 Software License [1] 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.

 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
-->


<!DOCTYPE test SYSTEM "dom3.dtd" [
  <!ENTITY % entities SYSTEM "dom3tests.ent">
  %entities;
]>

<test xmlns="&level3;" name="DOMBuilderTest3">
  <metadata>
    <title>DOMBuilderTest3</title>
    &creator;
    <description>Uses LSParser.parseWithContext to insert a document after a node.</description>
    &contributor; &date;
    <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseWithContext"/>
  </metadata>

  <var name="elementList" type="NodeList"/>
  <var name="stringDoc"   type="DOMString"/>

  <var name="firstElt1"   type="Element"/>
  <var name="secondElt1"  type="Element"/>
  <var name="thirdElt"    type="Element"/>
  <var name="nodeName"    type="DOMString"/>
  <var name="returnNode"  type="Node"/>
  <var name="resourceURI" type="DOMString"/>

  &vars;

  &init;

  <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
  <parseURI  var="document" obj="parser" uri="resourceURI"/>
  <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
  <assertSize collection="elementList" size="2" id="count_elt1"/>


  <item interface="NodeList" obj="elementList" var="firstElt1" index="0"/>

  <nextSibling interface="Node" obj="firstElt1" var="secondElt1"/>
  <nodeName obj="secondElt1" var="nodeName"/>
  <assertEquals actual="nodeName" expected="&quot;elt1&quot;" id="nextSibling_before_add" ignoreCase="false"/>

  <getResourceURI var="resourceURI" href="TEST2" contentType="text/xml"/>
  <systemId obj="inputSource" value="resourceURI" interface="LSInput"/>
  <try>
          <parseWithContext  obj="parser" input="inputSource" contextArg="firstElt1" action="ACTION_INSERT_AFTER" var="returnNode"/>
        <catch>
                <DOMException code="NOT_SUPPORTED_ERR">
                        <return/>
                </DOMException>
        </catch>
  </try>
  <nextSibling interface="Node" obj="firstElt1" var="secondElt1"/>
  <nodeName obj="secondElt1" var="nodeName"/>
  <assertEquals actual="nodeName" expected="&quot;elt2&quot;" id="nextSibling_after_add" ignoreCase="false"/>

  <nextSibling interface="Node" obj="secondElt1" var="thirdElt"/>
  <nodeName obj="thirdElt" var="nodeName"/>
  <assertEquals actual="nodeName" expected="&quot;elt1&quot;" id="nextSiblings_sibling_after_add" ignoreCase="false"/>

</test>






