2012-07-27 17:52:24 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<project name= "ac-ant-test" default= "all" >
<property name= "projdir" value= ".." />
<target name= "version" description= "Get version from source." >
<property name= "main.path" value= "${projdir}/src/com/webcodepro/applecommander/ui" />
<loadfile srcfile= "${main.path}/AppleCommander.java" property= "acVersion" >
<filterchain >
<linecontainsregexp >
<regexp pattern= '^.*String VERSION = ".*";.*$' />
</linecontainsregexp>
<tokenfilter >
<replaceregex pattern= '^.*String VERSION = "(.*)";.*$' replace= '\1' />
</tokenfilter>
<striplinebreaks />
</filterchain>
</loadfile>
<echo > Testing ant support from version ${acVersion}...</echo>
<!-- Set a number of properties based on that version number -->
<taskdef name= "appleCommander" classname= "com.webcodepro.applecommander.ui.AntTask" classpath= "${projdir}/work/dist/AppleCommander-${acVersion}-ac.jar" />
<property name= "dos140image" value= "${projdir}/work/dist/test-${acVersion}-dos140.do" />
<property name= "pro140image" value= "${projdir}/work/dist/test-${acVersion}-pro140.po" />
<property name= "pro800image" value= "${projdir}/work/dist/test-${acVersion}-pro800.po" />
<property name= "pas140image" value= "${projdir}/work/dist/test-${acVersion}-pas140.po" />
<property name= "pas800image" value= "${projdir}/work/dist/test-${acVersion}-pas800.po" />
</target>
<target name= "all" depends= "version, clean, test" description= "Tests some of the functions of the AppleCommander Ant task. Run 'clean' afterwards to clean up." >
<!-- This target is here to orchestrate the staging of other tasks via the 'depends' clause. -->
</target>
<target name= "test" description= "Run the bulk of the testing." >
<!-- First, build images to play with -->
<appleCommander command= "dos140" imagename= "${dos140image}" />
<appleCommander command= "pro800" imagename= "${pro800image}" />
<appleCommander command= "pro140" imagename= "${pro140image}" />
<appleCommander command= "pas800" imagename= "${pas800image}" />
<appleCommander command= "pas140" imagename= "${pas140image}" />
<!-- Now, copy a file to the images -->
<appleCommander command= "p" input= "manifest.mf" imagename= "${dos140image}" filename= "MANIFEST" type= "T" />
<appleCommander command= "p" input= "manifest.mf" imagename= "${pas140image}" filename= "MANIFEST" type= "text" />
2012-08-02 03:18:07 +00:00
<appleCommander command= "p" input= "manifest.mf" failonerror= "false" imagename= "${pas800image}" filename= "MANIFEST" type= "text" />
2012-07-27 17:52:24 +00:00
<appleCommander command= "p" input= "manifest.mf" imagename= "${pro140image}" filename= "MANIFEST" type= "txt" />
2012-08-02 03:18:07 +00:00
<appleCommander command= "p" input= "${pas140image}" failonerror= "false" imagename= "${pro800image}" filename= "BIG140IMG" type= "bin" />
2012-07-27 17:52:24 +00:00
<!-- Now, copy a file that should not fit on the images -->
<echo message= "Here we expect messages from [appleCommander] complaining about file space requirements not being met..." />
<appleCommander failonerror= "false" command= "p" input= "${pro800image}" imagename= "${dos140image}" filename= "BLOWUP" type= "T" />
<appleCommander failonerror= "false" command= "p" input= "${pro800image}" imagename= "${pas140image}" filename= "BLOWUP" type= "text" />
<appleCommander failonerror= "false" command= "p" input= "${pro800image}" imagename= "${pas800image}" filename= "BLOWUP" type= "text" />
<appleCommander failonerror= "false" command= "p" input= "${pro800image}" imagename= "${pro140image}" filename= "BLOWUP" type= "txt" />
<appleCommander failonerror= "false" command= "p" input= "${pro800image}" imagename= "${pro800image}" filename= "BLOWUP" type= "txt" />
<!-- Now, ask for some directories -->
<echo message= "Here we are asking for a normal DOS directory." />
<appleCommander command= "ls" imagename= "${dos140image}" />
<echo message= "Here we are asking for a native Pascal directory." />
<appleCommander command= "l" imagename= "${pas800image}" />
<echo message= "Here we are asking for a detailed ProDOS directory." />
<appleCommander command= "ll" imagename= "${pro800image}" />
<!-- Now, ask for some information on images -->
<echo message= "Here we are asking for general image information." />
<appleCommander command= "i" imagename= "${dos140image}" />
<!-- Now, delete that file we created -->
<appleCommander command= "d" imagename= "${dos140image}" filename= "MANIFEST" />
<appleCommander command= "d" imagename= "${pas140image}" filename= "MANIFEST" />
<echo message= "Note: the 'No match' message is coming from the Pascal 140k image, which gets corrupted when it is blown up with the large file." />
<appleCommander command= "d" imagename= "${pas800image}" filename= "MANIFEST" />
<appleCommander command= "d" imagename= "${pro140image}" filename= "MANIFEST" />
<appleCommander command= "d" imagename= "${pro800image}" filename= "BIG140IMG" />
<!-- Now, the files should be gone -->
<echo message= "Now, the files that appeared before should be gone." />
<appleCommander command= "ls" imagename= "${dos140image}" />
<appleCommander command= "l" imagename= "${pas800image}" />
<appleCommander command= "ll" imagename= "${pro800image}" />
<!-- Now, test some file exporting -->
<echo message= "Here are the contents of a file:" />
<appleCommander command= "p" input= "manifest.mf" imagename= "${pro140image}" filename= "TEST" type= "txt" />
<appleCommander command= "e" imagename= "${pro140image}" filename= "TEST" />
<echo message= "Here are the contents of a file, native:" />
<appleCommander command= "g" imagename= "${pro140image}" filename= "TEST" />
<appleCommander command= "x" imagename= "${pro140image}" outputpath= "${projdir}/work/dist" />
2012-10-11 12:34:10 +00:00
<appleCommander command= "p" input= "${pro140image}" imagename= "${pro800image}" filename= "TEST.po" type= "bin" />
<appleCommander command= "g" imagename= "${pro800image}" filename= "TEST.po" output= "${projdir}/work/dist/TEST.po" />
<echo message= "Files TEST.po and ${pro140image} should match." />
2012-07-27 17:52:24 +00:00
<echo message= "Files should be exported to the current working directory now." />
</target>
<target name= "clean" description= "Get rid of testing artifacts." >
<delete file= "${dos140image}" />
<delete file= "${pas140image}" />
<delete file= "${pas800image}" />
<delete file= "${pro140image}" />
<delete file= "${pro800image}" />
<delete file= "TEST.txt" />
</target>
</project>