GildedRose-Refactoring-Kata/xslt/build.xml
2018-12-07 23:43:31 +01:00

77 lines
2.8 KiB
XML

<?xml version='1.0'?>
<project name="GildedRoseXslt" default="run" basedir=".">
<property name="style" value="update_quality" />
<property name="src" location="." />
<property name="test_prefix" value="tst_" />
<property name="test_process_suffix" value=".next_day.xml" />
<property name="test_result_suffix" value=".test_result.xml" />
<target name="validateXml">
<!-- for lenient="false" all XML must define a DTD, else we get an error -->
<xmlvalidate warn="true" lenient="true">
<fileset dir="${src}">
<include name="**/*.xml" />
<include name="**/*.xsl" />
<exclude name="**/build.xml" />
</fileset>
</xmlvalidate>
<xmlvalidate warn="true" lenient="false">
<fileset dir="${src}">
<include name="*.xml" />
<exclude name="*${test_process_suffix}" />
<exclude name="*${test_result_suffix}" />
<exclude name="build.xml" />
</fileset>
</xmlvalidate>
</target>
<target name="test" depends="-testSheet,-verifyResult" />
<target name="-testSheet">
<dirname property="suite" file="${style}.xsl" />
<!-- apply style to XMLs in suite -->
<xslt basedir="${suite}" destdir="${suite}" style="${suite}/${style}.xsl" extension="${test_process_suffix}">
<include name="*.xml" />
<exclude name="*${test_process_suffix}" />
<exclude name="*${test_result_suffix}" />
<exclude name="build.xml" />
</xslt>
<!-- apply test(s) -->
<xslt basedir="${suite}" destdir="${suite}" style="${suite}/${test_prefix}${style}.xsl" extension="${test_result_suffix}">
<include name="*.xsl" />
<exclude name="${test_prefix}*.xsl" />
</xslt>
<!-- create readable html test report -->
<xslt basedir="${suite}" destdir="${suite}" style="${basedir}/xsltunit-0.2/xsltunit_report.xsl">
<include name="*${test_result_suffix}" />
<param name="testname" expression="${style}.xsl" />
</xslt>
</target>
<target name="-verifyResult">
<loadfile property="test_failed" srcFile="${style}${test_result_suffix}" />
<fail message="Test ${suite} failed!">
<condition>
<contains string="${test_failed}" substring="outcome=&quot;failed&quot;" />
</condition>
</fail>
</target>
<target name="clean">
<delete dir="${src}">
<include name="**/*${test_process_suffix}" />
<include name="**/*${test_result_suffix}" />
<include name="**/*.html" />
</delete>
</target>
<target name="run" depends="validateXml,test" />
</project>