p:file-touch-011 (AB)

Tests p:file-touch, use current date-time.

Test ab-file-touch-011.xml is expected to pass.

It requires the following features: p:file-info or p:file-touch.

The pipeline


<p:declare-step xmlns:c="http://www.w3.org/ns/xproc-step" xmlns:err="http://www.w3.org/ns/xproc-error" xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
   <p:output port="result"/>
   <p:file-touch href="../testfolder/file.txt" name="touch1"/>
   <p:file-info href="../testfolder/file.txt" name="first-probe" depends="touch1"/>
   <p:file-touch href="../testfolder/file.txt" depends="first-probe" name="touch2"/>
   <p:file-info href="../testfolder/file.txt" name="second-probe" depends="touch2"/>
   <p:wrap-sequence wrapper="result">
      <p:with-input pipe="@first-probe @second-probe"/>
   </p:wrap-sequence>
</p:declare-step>
MorganaXProc passing XML Calabash passing

Schematron validation


<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:err="http://www.w3.org/ns/xproc-error" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
   <s:ns uri="http://www.w3.org/ns/xproc-step" prefix="c"/>
   <s:ns uri="http://www.w3.org/2001/XMLSchema" prefix="xs"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="result">Root element is not result.</s:assert>
         <s:assert test="result/c:file[1]/@name='file.txt' and result/c:file[2]/@name='file.txt'">result/c:file/@name is not 'file.txt'.</s:assert>
         <s:assert test="xs:dateTime(result/c:file[1]/@last-modified)                   &lt;= xs:dateTime(result/c:file[2]/@last-modified)">Date of file is not correctly changed by p:file-touch.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

08 Oct 2023, Achim Berndzen

Changed test because the original test does not test anything.

29 Jul 2022, Achim Berndzen

Initial commit