Author: jhm
Date: Thu Apr 19 23:25:05 2007
New Revision: 530664
URL: http://svn.apache.org/viewvc?view=rev&rev=530664
Log:
Add tests. Document the regexp for attribute name.
Modified:
ant/core/trunk/docs/manual/CoreTasks/manifest.html
ant/core/trunk/src/etc/testcases/taskdefs/manifest.xml
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestTest.java
Modified: ant/core/trunk/docs/manual/CoreTasks/manifest.html
URL:
http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/manifest.html?view=diff&rev=530664&r1=530663&r2=530664
==============================================================================
--- ant/core/trunk/docs/manual/CoreTasks/manifest.html (original)
+++ ant/core/trunk/docs/manual/CoreTasks/manifest.html Thu Apr 19 23:25:05 2007
@@ -94,7 +94,9 @@
</tr>
<tr>
<td valign="top">name</td>
- <td valign="top">the name of the attribute.</td>
+ <td valign="top">the name of the attribute, <br>
+ must match the regexp <tt>[A-Za-z0-9][A-Za-z0-9-_]*</tt>.
+ </td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
Modified: ant/core/trunk/src/etc/testcases/taskdefs/manifest.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/etc/testcases/taskdefs/manifest.xml?view=diff&rev=530664&r1=530663&r2=530664
==============================================================================
--- ant/core/trunk/src/etc/testcases/taskdefs/manifest.xml (original)
+++ ant/core/trunk/src/etc/testcases/taskdefs/manifest.xml Thu Apr 19 23:25:05
2007
@@ -227,6 +227,24 @@
</manifest>
</target>
+ <target name="testIllegalNameBegin">
+ <manifest file="mftestillegalnamebegin.mf">
+ <attribute name="-name" value="value"/>
+ </manifest>
+ </target>
+
+ <target name="testIllegalName2">
+ <manifest file="mftestillegalnamebegin.mf">
+ <attribute name="has.point" value="value"/>
+ </manifest>
+ </target>
+
+ <target name="testIllegalName3">
+ <manifest file="mftestillegalnamebegin.mf">
+ <attribute name="has*star" value="value"/>
+ </manifest>
+ </target>
+
<target name="clean">
<delete>
<fileset dir="." includes="mftest*"/>
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java?view=diff&rev=530664&r1=530663&r2=530664
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java Thu
Apr 19 23:25:05 2007
@@ -139,20 +139,20 @@
* check each character.
*
* @param attribute The attribute to check
- * @throws ManifestException if the check fails
+ * @throws BuildException if the check fails
*/
- private void checkAttribute(Manifest.Attribute attribute) throws
ManifestException {
+ private void checkAttribute(Manifest.Attribute attribute) throws
BuildException {
String name = attribute.getName();
char ch = name.charAt(0);
if (ch == '-' || ch == '_') {
- throw new ManifestException("Manifest attribute names must not
contain '" + ch + "'");
+ throw new BuildException("Manifest attribute names must not
contain '" + ch + "' at the begin.");
}
for (int i = 0; i < name.length(); i++) {
ch = name.charAt(i);
if (VALID_ATTRIBUTE_CHARS.indexOf(ch) < 0) {
- throw new ManifestException("Manifest attribute names must not
contain '" + ch + "'");
+ throw new BuildException("Manifest attribute names must not
contain '" + ch + "'");
}
}
}
Modified:
ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestTest.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestTest.java?view=diff&rev=530664&r1=530663&r2=530664
==============================================================================
---
ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestTest.java
(original)
+++
ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestTest.java
Thu Apr 19 23:25:05 2007
@@ -331,17 +331,27 @@
public void testFrom() {
expectLogContaining("testFrom", Manifest.ERROR_FROM_FORBIDDEN);
}
-
+
public void testIllegalName() {
- //expectBuildException("testIllegalName", "Attribute name is not valid
according to the specification.");
+ expectBuildException("testIllegalName", "Manifest attribute names must
not contain ' '");
}
-
+
public void testIllegalNameInSection() {
- //expectBuildException("testIllegalNameInSection", "Attribute name is
not valid according to the specification.");
+ expectBuildException("testIllegalNameInSection", "Manifest attribute
names must not contain ' '");
}
-
-
-
+
+ public void testIllegalNameBegin() {
+ expectBuildException("testIllegalNameInSection", "Manifest attribute
names must not contain '-' at the begin.");
+ }
+
+ public void testIllegalName2() {
+ expectBuildException("testIllegalName", "Manifest attribute names must
not contain '.'");
+ }
+
+ public void testIllegalName3() {
+ expectBuildException("testIllegalName", "Manifest attribute names must
not contain '*'");
+ }
+
/**
* Reads mftest.mf.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]