Test http://www.w3.org/2001/DOM-Test-Suite/level3/ls/DOMInputSourceTest5

<test name='DOMInputSourceTest5' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-3 dom3.xsd'>
     <metadata>
          <title>DOMInputSourceTest5</title>
          <creator>Jeroen van Rotterdam</creator>
          <description>Parses a document containing an external entity and checks that resource resolver is passed the baseURI value specified on LSInput.</description>
          <contributor>X-Hive Corporation</contributor>
          <date qualifier='created'>2002-03-23</date>
          <subject resource='http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-systemId'/>
          <subject resource='http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-publicId'/>
          <subject resource='http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSInput-baseURI'/>
          <subject resource='http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/load-save#LS-LSResourceResolver-resolveResource'/>
</metadata>
     <var name='myentityresolver' type='LSResourceResolver'>
          <resolveResource>
               <var name='domImplLS' type='DOMImplementationLS'/>
               <var name='input' type='LSInput'/>
               <assertEquals actual='baseURI' expected='"http://www.example.com/new_base"' ignoreCase='false' id='er_base'/>
               <assertEquals actual='publicId' expected='"-//X-Hive//native xml storage//EN"' ignoreCase='false' id='er_public'/>
               <assertURIEquals actual='systemId' isAbsolute='true' name='"test5"' id='er_system'/>
               <!-- create an empty string input so we can detect that resource resolver was used -->
               <implementation var='domImplLS'/>
               <createLSInput var='input' obj='domImplLS'/>
               <stringData obj='input' value='""' interface='LSInput'/>
               <return value='input'/>
          </resolveResource>
     </var>
     <var name='configuration' type='DOMConfiguration'/>
     <var name='resourceURI' type='DOMString'/>
     <var name='nodeList' type='NodeList'/>
     <var name='implementation' type='DOMImplementation'/>
     <var name='lsImplementation' type='DOMImplementationLS'/>
     <var name='inputSource' type='LSInput'/>
     <var name='document' type='Document'/>
     <var name='writer' type='LSSerializer'/>
     <var name='builder' type='LSParser'/>
     <!-- constants -->
     <var name='MODE_SYNCHRONOUS' type='short' value='1'/>
     <var name='MODE_ASYNCHRONOUS' type='short' value='2'/>
     <var name='DTD_SCHEMATYPE' type='DOMString' value='"http://www.w3.org/TR/REC-xml"'/>
     <var name='SCHEMA_SCHEMATYPE' type='DOMString' value='"http://www.w3.org/2001/XMLSchema"'/>
     <var name='NULL_SCHEMATYPE' type='DOMString' isNull='true'/>
     <!-- action types DOMParser.parseWithContext -->
     <var name='ACTION_REPLACE_CHILDREN' type='short' value='2'/>
     <var name='ACTION_APPEND_AS_CHILDREN' type='short' value='1'/>
     <var name='ACTION_INSERT_AFTER' type='short' value='4'/>
     <var name='ACTION_INSERT_BEFORE' type='short' value='3'/>
     <var name='ACTION_REPLACE' type='short' value='5'/>
     <!-- testfiles -->
     <var name='TEST0' type='DOMString' value='"test0"'/>
     <var name='TEST1' type='DOMString' value='"test1"'/>
     <var name='TEST2' type='DOMString' value='"test2"'/>
     <var name='TEST3' type='DOMString' value='"test3"'/>
     <var name='TEST4' type='DOMString' value='"test4"'/>
     <var name='TEST5' type='DOMString' value='"test5"'/>
     <var name='TEST6' type='DOMString' value='"test6"'/>
     <var name='TEST7' type='DOMString' value='"test7"'/>
     <var name='TESTPDF' type='DOMString' value='"testpdf"'/>
     <implementation var='implementation'/>
     <assign var='lsImplementation' value='implementation'/>
     <createLSParser var='builder' obj='lsImplementation' mode='MODE_SYNCHRONOUS' schemaType='NULL_SCHEMATYPE'/>
     <createLSSerializer var='writer' obj='lsImplementation'/>
     <createLSInput var='inputSource' obj='lsImplementation'/>
     <domConfig var='configuration' obj='builder' interface='LSParser'/>
     <setParameter obj='configuration' name='"resource-resolver"' value='myentityresolver'/>
     <setParameter obj='configuration' name='"entities"' value='false'/>
     <getResourceURI var='resourceURI' href='TEST4' contentType='text/xml'/>
     <systemId obj='inputSource' value='resourceURI' interface='LSInput'/>
     <publicId obj='inputSource' value='"-//X-Hive//native xml storage//DE"' interface='LSInput'/>
     <baseURI obj='inputSource' value='"http://www.example.com/new_base"' interface='LSInput'/>
     <parse var='document' obj='builder' input='inputSource'/>
     <!-- should parse successfully -->
     <assertNotNull actual='document' id='documentNotNull'/>
     <!-- resource resolver should have suppressed elt2 from the external entity -->
     <getElementsByTagName var='nodeList' obj='document' tagname='"elt2"' interface='Document'/>
     <assertSize size='0' collection='nodeList' id='noElt2'/>
     <!-- check that there is an elt1 -->
     <getElementsByTagName var='nodeList' obj='document' tagname='"elt1"' interface='Document'/>
     <assertSize size='1' collection='nodeList' id='hasElt1'/>
</test>

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.