Skip to content

Commit

Permalink
Merge pull request #704 from ndw/nw-step-available
Browse files Browse the repository at this point in the history
Tests for step-available
  • Loading branch information
ndw authored May 12, 2024
2 parents 6debf4e + eae5838 commit 29afa92
Show file tree
Hide file tree
Showing 4 changed files with 236 additions and 0 deletions.
57 changes: 57 additions & 0 deletions test-suite/tests/nw-step-available-001.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<t:test expected="pass"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>Step available 001 (NW)</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-04-01</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Initial commit</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Test a user-defined step with a body that is conditionally present.</p>
</t:description>
<t:pipeline>
<p:declare-step name="main"
version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:ex="http://example.com/ns/xproc-extensions">
<p:output port="result"/>

<p:declare-step type="ex:step1">
<p:input port="source"/>
<p:output port="result"/>
<p:identity use-when="p:step-available('ex:step2')"/>
</p:declare-step>

<p:declare-step type="ex:step2">
<p:input port="source"/>
<p:output port="result"/>
</p:declare-step>

<p:identity>
<p:with-input>
<available>{p:step-available('ex:step1')}</available>
</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="available = 'false'">The step should not be available.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>
58 changes: 58 additions & 0 deletions test-suite/tests/nw-step-available-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"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>Step available 002 (NW)</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-04-01</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Initial commit</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Test a user-defined step with a body that is conditionally present.</p>
</t:description>
<t:pipeline>
<p:declare-step name="main"
version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:ex="http://example.com/ns/xproc-extensions">
<p:output port="result"/>

<p:declare-step type="ex:step1">
<p:input port="source"/>
<p:output port="result"/>
<p:identity use-when="p:step-available('ex:step2')"/>
</p:declare-step>

<p:declare-step type="ex:step2">
<p:input port="source"/>
<p:output port="result"/>
<p:identity/>
</p:declare-step>

<p:identity>
<p:with-input>
<available>{p:step-available('ex:step1')}</available>
</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="available = 'true'">The step should be available.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>
60 changes: 60 additions & 0 deletions test-suite/tests/nw-step-available-003.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<t:test expected="pass"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>Step available 003 (NW)</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-04-01</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Initial commit</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Test a user-defined step with a body that is conditionally present.</p>
</t:description>
<t:pipeline>
<p:declare-step name="main"
version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:ex="http://example.com/ns/xproc-extensions">
<p:output port="result"/>

<p:declare-step type="ex:step1">
<p:input port="source"/>
<p:output port="result"/>
<p:identity use-when="p:step-available('ex:step2')"/>
</p:declare-step>

<p:declare-step type="ex:step2">
<p:input port="source"/>
<p:output port="result"/>
</p:declare-step>

<p:identity>
<p:with-input use-when="p:step-available('ex:step1')">
<available/>
</p:with-input>
<p:with-input use-when="not(p:step-available('ex:step1'))">
<not-available/>
</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="not-available">The step should not be available.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>
61 changes: 61 additions & 0 deletions test-suite/tests/nw-step-available-004.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<t:test expected="pass"
xmlns:t="http://xproc.org/ns/testsuite/3.0">
<t:info>
<t:title>Step available 004 (NW)</t:title>
<t:revision-history>
<t:revision>
<t:date>2024-04-01</t:date>
<t:author>
<t:name>Norm Tovey-Walsh</t:name>
</t:author>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Initial commit</p>
</t:description>
</t:revision>
</t:revision-history>
</t:info>
<t:description xmlns="http://www.w3.org/1999/xhtml">
<p>Test a user-defined step with a body that is conditionally present.</p>
</t:description>
<t:pipeline>
<p:declare-step name="main"
version="3.0"
xmlns:p="http://www.w3.org/ns/xproc"
xmlns:ex="http://example.com/ns/xproc-extensions">
<p:output port="result"/>

<p:declare-step type="ex:step1">
<p:input port="source"/>
<p:output port="result"/>
<p:identity use-when="p:step-available('ex:step2')"/>
</p:declare-step>

<p:declare-step type="ex:step2">
<p:input port="source"/>
<p:output port="result"/>
<p:identity/>
</p:declare-step>

<p:identity>
<p:with-input use-when="p:step-available('ex:step1')">
<available/>
</p:with-input>
<p:with-input use-when="not(p:step-available('ex:step1'))">
<not-available/>
</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="available">The step should be available.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
</t:schematron>
</t:test>

0 comments on commit 29afa92

Please sign in to comment.