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]

Reply via email to