|
|
@@ -0,0 +1,110 @@ |
|
|
|
<?xml version="1.0"?> |
|
|
|
<!-- |
|
|
|
Licensed to the Apache Software Foundation (ASF) under one or more |
|
|
|
contributor license agreements. See the NOTICE file distributed with |
|
|
|
this work for additional information regarding copyright ownership. |
|
|
|
The ASF licenses this file to You under the Apache License, Version 2.0 |
|
|
|
(the "License"); you may not use this file except in compliance with |
|
|
|
the License. You may obtain a copy of the License at |
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0 |
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software |
|
|
|
distributed under the License is distributed on an "AS IS" BASIS, |
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
|
|
See the License for the specific language governing permissions and |
|
|
|
limitations under the License. |
|
|
|
--> |
|
|
|
<project xmlns:au="antlib:org.apache.ant.antunit" default="antunit" |
|
|
|
xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors"> |
|
|
|
|
|
|
|
<import file="../../../antunit-base.xml" /> |
|
|
|
|
|
|
|
<property name="dir" location="testdir"/> |
|
|
|
<property name="file" value="testfile"/> |
|
|
|
|
|
|
|
<condition property="unix"> |
|
|
|
<os family="unix"/> |
|
|
|
</condition> |
|
|
|
|
|
|
|
<target name="createTestdir"> |
|
|
|
<mkdir dir="${dir}"/> |
|
|
|
<touch file="${dir}/${file}"/> |
|
|
|
</target> |
|
|
|
|
|
|
|
<target name="tearDown"> |
|
|
|
<delete dir="${dir}"/> |
|
|
|
</target> |
|
|
|
|
|
|
|
<target name="testReadable" depends="createTestdir"> |
|
|
|
<au:assertTrue> |
|
|
|
<resourcecount when="equal" count="1"> |
|
|
|
<restrict> |
|
|
|
<fileset dir="${dir}"/> |
|
|
|
<rsel:readable/> |
|
|
|
</restrict> |
|
|
|
</resourcecount> |
|
|
|
</au:assertTrue> |
|
|
|
<au:assertTrue> |
|
|
|
<resourcecount when="equal" count="0"> |
|
|
|
<restrict> |
|
|
|
<fileset dir="${dir}" excludes="${file}"/> |
|
|
|
<rsel:readable/> |
|
|
|
</restrict> |
|
|
|
</resourcecount> |
|
|
|
</au:assertTrue> |
|
|
|
</target> |
|
|
|
|
|
|
|
<target name="testWritable" depends="createTestdir"> |
|
|
|
<au:assertTrue> |
|
|
|
<resourcecount when="equal" count="1"> |
|
|
|
<restrict> |
|
|
|
<fileset dir="${dir}"/> |
|
|
|
<rsel:writable/> |
|
|
|
</restrict> |
|
|
|
</resourcecount> |
|
|
|
</au:assertTrue> |
|
|
|
<au:assertTrue> |
|
|
|
<resourcecount when="equal" count="0"> |
|
|
|
<restrict> |
|
|
|
<fileset dir="${dir}" excludes="${file}"/> |
|
|
|
<rsel:writable/> |
|
|
|
</restrict> |
|
|
|
</resourcecount> |
|
|
|
</au:assertTrue> |
|
|
|
</target> |
|
|
|
|
|
|
|
<target name="makeFileUnwritable" |
|
|
|
depends="createTestdir,makeFileUnwritable-Unix,makeFileUnwritable-Windows"/> |
|
|
|
<target name="makeFileUnwritable-Unix" id="unix"> |
|
|
|
<chmod file="${dir}/${file}" perm="444"/> |
|
|
|
</target> |
|
|
|
<target name="makeFileUnwritable-Windows" unless="unix"> |
|
|
|
<attrib file="${dir}/${file}" readonly="true"/> |
|
|
|
</target> |
|
|
|
|
|
|
|
<target name="testUnwritable" depends="makeFileUnwritable"> |
|
|
|
<au:assertTrue> |
|
|
|
<resourcecount when="equal" count="0"> |
|
|
|
<restrict> |
|
|
|
<fileset dir="${dir}"/> |
|
|
|
<rsel:writable/> |
|
|
|
</restrict> |
|
|
|
</resourcecount> |
|
|
|
</au:assertTrue> |
|
|
|
</target> |
|
|
|
|
|
|
|
<target name="testAsConditions" depends="makeFileUnwritable"> |
|
|
|
<au:assertTrue> |
|
|
|
<isfileselected file="${dir}/${file}"> |
|
|
|
<rsel:readable/> |
|
|
|
</isfileselected> |
|
|
|
</au:assertTrue> |
|
|
|
<au:assertFalse> |
|
|
|
<isfileselected file="${dir}/${file}"> |
|
|
|
<rsel:writable/> |
|
|
|
</isfileselected> |
|
|
|
</au:assertFalse> |
|
|
|
</target> |
|
|
|
|
|
|
|
</project> |