Skip to content

Commit

Permalink
A few new tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ndw committed Dec 6, 2024
1 parent 082c5e4 commit d4666af
Show file tree
Hide file tree
Showing 3 changed files with 172 additions and 0 deletions.
48 changes: 48 additions & 0 deletions test-suite/tests/nw-import-functions-001.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<t:test expected="pass" features="xquery-function-import"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>nw-import-functions-001</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-12-06</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Tests for p:import-functions.</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Tests p:import-functions: tests importing the same library twice.</p>
</t:description>
<t:pipeline>
<p:declare-step version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:test="http://xproc.org/ns/testsuite/3.0/function-test">
<p:import-functions href="../documents/xquery-library.xq" content-type="application/xquery" />
<p:import-functions href="../documents/xquery-library.xq" content-type="application/xquery" />
<p:output port="result" />

<p:identity>
<p:with-input>
<result>{test:function1()}</result>
</p:with-input>
</p:identity>
</p:declare-step>
</t:pipeline>
<t:schematron>
<s:schema queryBinding="xslt2"
xmlns:s="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.w3.org/1999/xhtml">
<s:pattern>
<s:rule context="/">
<s:assert test="result">The document root is not result.</s:assert>
<s:assert test="result/function-result">Result does not have a child "function-result".</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>
58 changes: 58 additions & 0 deletions test-suite/tests/nw-import-functions-002.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<t:test expected="pass" features="xquery-function-import"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>nw-import-functions-002</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-12-06</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Tests for p:import-functions.</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Tests p:import-functions: tests limiting XQuery imports by namespace.</p>
</t:description>
<t:pipeline>
<p:declare-step version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:test="http://xproc.org/ns/testsuite/3.0/function-test">
<p:import-functions href="../documents/xquery-library.xq"
namespace="http://example.com/1 http://example.com/1"
content-type="application/xquery" />
<p:output port="result" />

<p:try>
<p:identity>
<p:with-input>
<result>{test:function1()}</result>
</p:with-input>
</p:identity>
<p:catch xmlns:err="http://www.w3.org/ns/xproc-error"
code="err:XS0107">
<p:identity>
<p:with-input>
<correct/>
</p:with-input>
</p:identity>
</p:catch>
</p:try>
</p:declare-step>
</t:pipeline>
<t:schematron>
<s:schema queryBinding="xslt2"
xmlns:s="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.w3.org/1999/xhtml">
<s:pattern>
<s:rule context="/">
<s:assert test="correct">The document root is not correct.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>
66 changes: 66 additions & 0 deletions test-suite/tests/nw-import-functions-003.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<t:test expected="pass" features="xquery-function-import"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>nw-import-functions-003</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-12-06</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Tests for p:import-functions.</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Tests p:import-functions: tests limiting XSLT imports by namespace.</p>
</t:description>
<t:pipeline>
<p:declare-step version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:test="http://xproc.org/ns/testsuite/3.0/function-test"
xmlns:test1="http://xproc.org/ns/testsuite/3.0/function-test1">
<p:import-functions href="../documents/xslt-functions.xsl"
namespace="http://xproc.org/ns/testsuite/3.0/function-test1"
content-type="application/xslt" />
<p:output port="result" />

<p:try>
<p:identity>
<p:with-input>
<result>{test:function1()}</result>
</p:with-input>
</p:identity>
<p:catch xmlns:err="http://www.w3.org/ns/xproc-error"
code="err:XS0107">
<p:identity>
<p:with-input>
<correct/>
</p:with-input>
</p:identity>
</p:catch>
</p:try>

<p:insert position="last-child">
<p:with-input port="insertion">
<result>{test1:function1()}</result>
</p:with-input>
</p:insert>
</p:declare-step>
</t:pipeline>
<t:schematron>
<s:schema queryBinding="xslt2"
xmlns:s="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.w3.org/1999/xhtml">
<s:pattern>
<s:rule context="/">
<s:assert test="correct">The document root is not correct.</s:assert>
<s:assert test="correct/result/namespaced-function">Result doesn’t include test1:function1 output</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>

0 comments on commit d4666af

Please sign in to comment.