blob: f7123f06eb4fe9b1fa4a340a4e126228387b9ff4 [file] [log] [blame]
<!--
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
https://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.
-->
<html>
<head>
<meta http-equiv="Content-Language" content="en-us"></meta>
<link rel="stylesheet" type="text/css" href="style.css">
<title>More Assertion Tasks</title>
</head>
<body>
<h1>More Assertion Tasks</h1>
<p>This Ant library also provides a couple of pre-defined
assertions that are specializations of the <a
href="assert.html">&lt;assertTrue&gt;</a> task.</p>
<h2><a name="assertFalse">assertFalse</a></h2>
<h3>Description</h3>
<p>Negates &lt;assertTrue&gt;. Supports the same attributes and
nested elements as &lt;assertTrue&gt; but makes the build fail if
the nested condition is true.</p>
<h3>Examples</h3>
<p>Make the build fail with the message "foo is bar" if the
property foo has the value bar:</p>
<pre>
&lt;assertFalse message="foo is bar"&gt;
&lt;equals arg1="${foo}" arg2="bar"/&gt;
&lt;/assertFalse&gt;
</pre>
<h2><a name="assertEquals">assertEquals</a></h2>
<p>Asserts that its two arguments are equal.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">expected</td>
<td valign="top">First string to test.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">actual</td>
<td valign="top">Second string to test.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
'<em>expected</em>' but was '<em>actual</em>'".</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">Perform a case sensitive comparision.
Default is true.</td>
<td valign="top" align="center">No</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail with the message "foo is not bar" if the
property foo doesn't hold the value bar regardless of case:</p>
<pre>
&lt;assertEquals message="foo is not bar" expected="bar"
actual="${foo}" casesensitive="false"/&gt;
</pre>
<h2><a name="assertPropertySet">assertPropertySet</a></h2>
<p>Asserts that a property has a value.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">name</td>
<td valign="top">Name of the property.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
property '<em>name</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail with the message "Expected property 'foo'"
if the property foo is not defined:</p>
<pre>
&lt;assertPropertySet name="foo"/&gt;
</pre>
<h2><a name="assertPropertyEquals">assertPropertyEquals</a></h2>
<p>Asserts that a given property is set and holds a certain
value.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">name</td>
<td valign="top">Name of the property.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">value</td>
<td valign="top">Expected value.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected property
'<em>name</em>' to have value '<em>value</em>' but was
'<em>value of property name</em>'".</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">Perform a case sensitive comparision.
Default is true.</td>
<td valign="top" align="center">No</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail with the message "foo is not bar" if the
property foo doesn't hold the value bar regardless of case:</p>
<pre>
&lt;assertPropertyEquals message="foo is not bar" value="bar"
name="foo" casesensitive="false"/&gt;
</pre>
<h2><a name="assertPropertyContains">assertPropertyContains</a></h2>
<p>Asserts that a given property is set and holds a certain
value as substring.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">name</td>
<td valign="top">Name of the property.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">value</td>
<td valign="top">Expected substring value.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected property
'<em>name</em>' to contain value '<em>value</em>' but was
'<em>value of property name</em>'".</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">Perform a case sensitive comparision.
Default is true.</td>
<td valign="top" align="center">No</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail with the message "foo doesn't contain bar" if the
property foo doesn't contain the value bar regardless of case:</p>
<pre>
&lt;assertPropertyContains message="foo doesn't contain bar" value="bar"
name="foo" casesensitive="false"/&gt;
</pre>
<h2><a name="assertFileExists">assertFileExists</a></h2>
<p>Asserts that a given file exists.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">file</td>
<td valign="top">Location of the file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
file '<em>file</em>' to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the file ${ant.home}/lib/ant.jar doesn't
exist:</p>
<pre>
&lt;assertFileExists file="${ant.home}/lib/ant.jar"/&gt;
</pre>
<h2><a name="assertFileDoesntExist">assertFileDoesntExist</a></h2>
<p>Asserts that a given file does not exist.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">file</td>
<td valign="top">Location of the file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Didn't expect
file '<em>file</em>' to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the file ${ant.home}/lib/ant.jar
exists:</p>
<pre>
&lt;assertFileDoesntExist file="${ant.home}/lib/ant.jar"/&gt;
</pre>
<h2><a name="assertResourceExists">assertResourceExists</a></h2>
<p><em>Since AntUnit 1.2</em></p>
<p>Asserts that a given resource exists. This was intended as a
generalization of <code>assertFileExists</code> but still really
only works for file resources.
Use <code>assertNestedResourceExists</code>
or <code>assertRefResourceExists</code> for non-filesystem
resources.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">resource</td>
<td valign="top">Location of the resource.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
resource '<em>resource</em>' to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the resource ${ant.home}/lib/ant.jar doesn't
exist:</p>
<pre>
&lt;assertResourceExists resource="${ant.home}/lib/ant.jar"/&gt;
</pre>
<h2><a name="assertRefResourceExists">assertRefResourceExists</a></h2>
<p><em>Since AntUnit 1.3</em></p>
<p>Asserts that a resource given by its id exists.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top">Reference to a resource defined inside the project.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
resource '<em>refid</em>' to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the resource ${ant.home}/lib/ant.jar doesn't
exist:</p>
<pre>
&lt;file file="${ant.home}/lib/ant.jar" id="ant.jar"/&gt;
&lt;assertRefResourceExists refid="ant.jar"/&gt;
</pre>
<h2><a name="assertNestedResourceExists">assertNestedResourceExists</a></h2>
<p><em>Since AntUnit 1.3</em></p>
<p>Asserts that a resource given as nested element exists.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected resource to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the resource ${ant.home}/lib/ant.jar doesn't
exist:</p>
<pre>
&lt;assertNestedResourceExists&gt;
&lt;file file="${ant.home}/lib/ant.jar"/&gt;
&lt;/assertNestedResourceExists&gt;
</pre>
<h2><a name="assertResourceDoesntExist">assertResourceDoesntExist</a></h2>
<p><em>Since AntUnit 1.2</em></p>
<p>Asserts that a given resource does not exist. This was
intended as a generalization
of <code>assertFileDoesntExist</code> but still really only
works for file resources.
Use <code>assertNestedResourceDoesntExist</code>
or <code>assertRefResourceDoesntExist</code> for non-filesystem
resources.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">resource</td>
<td valign="top">Location of the resource.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Didn't expect
resource '<em>resource</em>' to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the resource ${ant.home}/lib/ant.jar
exists:</p>
<pre>
&lt;assertResourceDoesntExist resource="${ant.home}/lib/ant.jar"/&gt;
</pre>
<h2><a name="assertRefResourceDoesntExist">assertRefResourceDoesntExist</a></h2>
<p><em>Since AntUnit 1.3</em></p>
<p>Asserts that a resource given by its id exists.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top">Reference to a resource defined inside the project.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Didn't expect
resource '<em>refid</em>' to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the resource ${ant.home}/lib/ant.jar
exists:</p>
<pre>
&lt;file file="${ant.home}/lib/ant.jar" id="ant.jar"/&gt;
&lt;assertRefResourceDoesntExist refid="ant.jar"/&gt;
</pre>
<h2><a name="assertNestedResourceDoesntExist">assertNestedResourceDoesntExist</a></h2>
<p><em>Since AntUnit 1.3</em></p>
<p>Asserts that a resource given as nested element exists.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Didn't expect
resource to exist".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the resource ${ant.home}/lib/ant.jar
exists:</p>
<pre>
&lt;assertNestedResourceDoesntExist&gt;
&lt;file file="${ant.home}/lib/ant.jar"/&gt;
&lt;/assertNestedResourceDoesntExist&gt;
</pre>
<h2><a name="assertDestIsUptodate">assertDestIsUptodate</a></h2>
<p>Asserts that a dest file is more recent than the source
file.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">src</td>
<td valign="top">source file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">dest</td>
<td valign="top">dest file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected '<em>dest</em>'
to be more recent than '<em>src</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the file ${ant.home}/lib/ant.jar is
more recent than the current build file:</p>
<pre>
&lt;assertDestIsUptodate dest="${ant.file}" src="${ant.home}/lib/ant.jar"/&gt;
</pre>
<h2><a name="assertDestIsOutofdate">assertDestIsOutofdate</a></h2>
<p>Asserts that a source file is more recent than the dest
file.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">src</td>
<td valign="top">source file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">dest</td>
<td valign="top">dest file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected '<em>src</em>'
to be more recent than '<em>dest</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the file ${ant.home}/lib/ant.jar is
older than the current build file:</p>
<pre>
&lt;assertDestIsOutofdate dest="${ant.file}" src="${ant.home}/lib/ant.jar"/&gt;
</pre>
<h2><a name="assertFilesMatch">assertFilesMatch</a></h2>
<p>Asserts that two files have the same content.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">expected</td>
<td valign="top">first file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">actual</td>
<td valign="top">second file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected files '<em>expected</em>'
and '<em>actual</em>' to match".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Example</h3>
<p>Make the build fail if the file build.xml and backups/build.xml
differ.</p>
<pre>
&lt;assertFilesMatch expected="backups/build.xml" actual="build.xml"/&gt;
</pre>
<h2><a name="assertFilesDiffer">assertFilesDiffer</a></h2>
<p>Asserts that two files have different content.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">expected</td>
<td valign="top">first file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">actual</td>
<td valign="top">second file.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected files '<em>expected</em>'
and '<em>actual</em>' to differ".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Example</h3>
<p>Make the build fail if the file build.xml and backups/build.xml
match.</p>
<pre>
&lt;assertFilesDiffer expected="backups/build.xml" actual="build.xml"/&gt;
</pre>
<h2><a name="assertReferenceSet">assertReferenceSet</a></h2>
<p>Asserts that a reference has a value.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top">Id of the reference.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
reference '<em>id</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail with the message "Expected reference 'foo'"
if the reference foo is not defined:</p>
<pre>
&lt;assertReferenceSet name="foo"/&gt;
</pre>
<h2><a name="assertReferenceIsType">assertReferenceIsType</a></h2>
<p>Asserts that a reference has a value of a given type.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top">Id of the reference.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">type</td>
<td valign="top">Name of the data type or task this
reference is expected to be.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected
reference '<em>id</em>' to be a '<em>type</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the reference <em>classpath</em> has not
been set or doesn't point to a &lt;path&gt;.</p>
<pre>
&lt;assertReferenceIsType refid="classpath" type="path"/>
</pre>
<h2><a name="assertMatches">assertMatches</a></h2>
<p>Asserts that a string matches a given regular expression.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">string</td>
<td valign="top">The string to test.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">pattern</td>
<td valign="top">The pattern to test the string against.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">
Perform a case sensitive match.
Default is true.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">multiline</td>
<td valign="top">
Perform a multi line match.
Default is false.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">singleline</td>
<td valign="top">
This allows '.' to match new lines.
SingleLine is not to be confused with multiline,
SingleLine is a perl
regex term, it corresponds to dotall in java regex.
Default is false.
</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the property abc does not contain
"abc" regardless of case:
</p>
<pre>
&lt;assertMatches string="${abc}" pattern="abc"
casesensitive="false"/></pre>
<h2><a name="assertDoesntMatch">assertDoesntMatch</a></h2>
<p>Asserts that a string doesn't match a given regular expression.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">string</td>
<td valign="top">The string to test.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">pattern</td>
<td valign="top">The pattern to test the string against.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">
Perform a case sensitive match.
Default is true.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">multiline</td>
<td valign="top">
Perform a multi line match.
Default is false.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">singleline</td>
<td valign="top">
This allows '.' to match new lines.
SingleLine is not to be confused with multiline,
SingleLine is a perl
regex term, it corresponds to dotall in java regex.
Default is false.
</td>
<td align="center">No.</td>
</tr>
</table>
<h3>Examples</h3>
<p>Make the build fail if the property abc contains
"abc" regardless of case:
</p>
<pre>
&lt;assertDoesntMatch string="${abc}" pattern="abc"
casesensitive="false"/></pre>
<h2><a name="assertLogContains">assertLogContains</a></h2>
<p>Asserts that the build log contains a given message.</p>
<p>Only works in the context of an &lt;antunit&gt; task.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">text</td>
<td valign="top">The text to search for.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">level</td>
<td valign="top">The level the message should have been
logged at - the task will also look into more severe
levels. One of "error", "warning", "info", "verbose", "debug".</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">mergeLines</td>
<td valign="top">Whether to merge messages into a single
line or split them into multiple lines. <em>since AntUnit
1.3</em></td>
<td valign="top" align="center">No, defaults
to <code>true</code></td>
</tr>
</table>
<h2><a name="assertLogDoesntContain">assertLogDoesntContain</a></h2>
<p>Asserts that the build log doesn't contain a given message.</p>
<p>Only works in the context of an &lt;antunit&gt; task.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">text</td>
<td valign="top">The text to search for.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">level</td>
<td valign="top">The level the message should have been
logged at - the task will also look into more severe
levels. One of "error", "warning", "info", "verbose", "debug".</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">mergeLines</td>
<td valign="top">Whether to merge messages into a single
line or split them into multiple lines. <em>since AntUnit
1.3</em></td>
<td valign="top" align="center">No, defaults
to <code>true</code></td>
</tr>
</table>
<h2><a name="assertResourceContains">assertResourceContains</a></h2>
<p>Asserts that a resource's content includes a given string.
This task anly really works for filesystem resources.
Use <code>assertRefResourceContains</code> when using non-file
resources.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">resource</td>
<td valign="top">Location of the resource to load.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">value</td>
<td valign="top">The text to search for.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">
Perform a case sensitive match.
Default is true.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected resource
'<em>resource</em>' to contain value '<em>value</em>' but
was '<em>content of resource</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h2><a name="assertRefResourceContains">assertRefResourceContains</a></h2>
<p><em>Since AntUnit 1.3</em></p>
<p>Asserts that a resource's content includes a given string.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top">Reference to a resource defined inside the project.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">value</td>
<td valign="top">The text to search for.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">
Perform a case sensitive match.
Default is true.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Expected resource
'<em>refeid</em>' to contain value '<em>value</em>'."</td>
<td align="center">No.</td>
</tr>
</table>
<h2><a name="assertResourceDoesntContain">assertResourceDoesntContain</a></h2>
<p>Asserts that a resource's content doesn't include a given string.
This task anly really works for filesystem resources.
Use <code>assertRefResourceDoesntContain</code> when using non-file
resources.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">resource</td>
<td valign="top">Location of the resource to load.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">value</td>
<td valign="top">The text to search for.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">
Perform a case sensitive match.
Default is true.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Didn't expect resource
'<em>resource</em>' to contain value '<em>value</em>' but
was '<em>content of resource</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<h2><a name="assertRefResourceDoesntContain">assertRefResourceDoesntContain</a></h2>
<p><em>Since AntUnit 1.3</em></p>
<p>Asserts that a resource's content doesn't include a given string.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">refid</td>
<td valign="top">Reference to a resource defined inside the project.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">value</td>
<td valign="top">The text to search for.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">casesensitive</td>
<td valign="top">
Perform a case sensitive match.
Default is true.
</td>
<td align="center">No.</td>
</tr>
<tr>
<td valign="top">message</td>
<td valign="top">Message for the exception if the condition
doesn't hold true. Defaults to "Didn't expect resource
'<em>refid</em>' to contain value '<em>value</em>'".</td>
<td align="center">No.</td>
</tr>
</table>
<hr/>
</body>
</html>