diff options
Diffstat (limited to 'test/testcases/tests/level3/ls/DOMInputSourceTest5.xml')
-rw-r--r-- | test/testcases/tests/level3/ls/DOMInputSourceTest5.xml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest5.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest5.xml new file mode 100644 index 0000000..34bff24 --- /dev/null +++ b/test/testcases/tests/level3/ls/DOMInputSourceTest5.xml @@ -0,0 +1,88 @@ +<?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="DOMInputSourceTest5"> + <metadata> + <title>DOMInputSourceTest5</title> + &creator; + <description>Parses a document containing an external entity and checks + that resource resolver is passed the baseURI value specified on LSInput.</description> + &contributor; &date; + <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-systemId"/> + <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-publicId"/> + <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-baseURI"/> + <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/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"/> + &vars; + &init; + + <domConfig var="configuration" obj="parser" 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="parser" 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> + + + + + |