Verification note:

http://www.w3.org/TR/REC-xml/#CharClasses
Copy the relevant char class from the website into file named 1
Copy the relevant char class from the commit into file named 3
$ cat 1 | tr -d " |[]" | sed "s/#x/\\\\u/g" | tr "[A-Z]" "[a-z]" > 2
$ cmp 2 3

On Sunday 14 October 2007 22:00, bombe at freenetproject.org wrote:
> Author: bombe
> Date: 2007-10-14 21:00:40 +0000 (Sun, 14 Oct 2007)
> New Revision: 15446
> 
> Added:
>    trunk/freenet/src/freenet/support/XMLCharacterClasses.java
> Modified:
>    trunk/freenet/src/freenet/support/HTMLNode.java
>    trunk/freenet/test/freenet/support/HTMLNodeTest.java
> Log:
> make test cases for HTMLNode run again
> fix some inconsistencies in both HTMLNode and HTMLNodeTest
> 
> Modified: trunk/freenet/src/freenet/support/HTMLNode.java
> ===================================================================
> --- trunk/freenet/src/freenet/support/HTMLNode.java   2007-10-12 07:20:20 UTC 
(rev 15445)
> +++ trunk/freenet/src/freenet/support/HTMLNode.java   2007-10-14 21:00:40 UTC 
(rev 15446)
> @@ -11,9 +11,9 @@
>  import java.util.regex.Matcher;
>  import java.util.regex.Pattern;
>  
> -public class HTMLNode {
> +public class HTMLNode implements XMLCharacterClasses {
>       
> -     private static final Pattern namePattern = Pattern.compile("^[a-zA-Z]
[a-zA-Z_0-9]+$");
> +     private static final Pattern namePattern = Pattern.compile("^[" + NAME 
+ "]*$");
>  
>       protected final String name;
>  
> @@ -42,18 +42,21 @@
>       public HTMLNode(String name, String[] attributeNames, String[] 
attributeValues, String content) {
>               
>               Matcher nameMatcher = namePattern.matcher(name);
> -             if (!nameMatcher.matches() && !"#".equals(name) && 
> !"%".equals(name)) {
> -                     throw new IllegalArgumentException("name must start 
> with letter and may 
only contain letters, digits, and underscore");
> +             if ((name == null) || (!"#".equals(name) && !"%".equals(name) 
&& !nameMatcher.matches())) {
> +                     throw new IllegalArgumentException("element name is not 
> legal");
>               }
> -             this.name = name.toLowerCase(Locale.ENGLISH);
>               if ((attributeNames != null) && (attributeValues != null)) {
>                       if (attributeNames.length != attributeValues.length) {
> -                             throw new IllegalArgumentException("attribute 
> names and values 
differ");
> +                             throw new IllegalArgumentException("attribute 
> names and values differ 
in length");
>                       }
>                       for (int attributeIndex = 0, attributeCount = 
> attributeNames.length; 
attributeIndex < attributeCount; attributeIndex++) {
> +                             if ((attributeNames[attributeIndex] == 
null) || !namePattern.matcher(attributeNames[attributeIndex]).matches()) {
> +                                     throw new 
> IllegalArgumentException("attributeName is not legal");
> +                             }
>                               addAttribute(attributeNames[attributeIndex], 
attributeValues[attributeIndex]);
>                       }
>               }
> +             this.name = name.toLowerCase(Locale.ENGLISH);
>               if (content != null && !name.equals("#") && !name.equals("%")) {
>                       addChild(new HTMLNode("#", content));
>                       this.content = null;
> 
> Added: trunk/freenet/src/freenet/support/XMLCharacterClasses.java
> ===================================================================
> --- trunk/freenet/src/freenet/support/XMLCharacterClasses.java                
>                 
(rev 0)
> +++ trunk/freenet/src/freenet/support/XMLCharacterClasses.java        
> 2007-10-14 
21:00:40 UTC (rev 15446)
> @@ -0,0 +1,63 @@
> +/*
> + * freenet - XMLCharacterClasses.java Copyright ? 2007 David Roden
> + * 
> + * This program is free software; you can redistribute it and/or modify it 
under
> + * the terms of the GNU General Public License as published by the Free 
Software
> + * Foundation; either version 2 of the License, or (at your option) any 
later
> + * version.
> + * 
> + * This program is distributed in the hope that it will be useful, but 
WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
> + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
> + * details.
> + * 
> + * You should have received a copy of the GNU General Public License along 
with
> + * this program; if not, write to the Free Software Foundation, Inc., 59 
Temple
> + * Place - Suite 330, Boston, MA 02111-1307, USA.
> + */
> +
> +package freenet.support;
> +
> +import java.util.regex.Matcher;
> +
> +/**
> + * This class contains various character classes from the <a
> + * href="http://www.w3.org/TR/REC-xml/";>XML 1.0 specification, 4th 
edition</a>.
> + * 
> + * The constants in this class are written in a form that allows easy 
conclusion
> + * in a {@link Matcher} pattern within square parantheses (<code>'['</code>
> + * and <code>']'</code>).
> + * 
> + * @author David Roden &lt;bombe at freenetproject.org&gt;
> + * @version $Id$
> + */
> +public interface XMLCharacterClasses {
> +
> +     /** [89] Extender. */
> +     public static final String EXTENDER 
= 
"\u00b7\u02d0\u02d1\u0387\u0640\u0e46\u0ec6\u3005\u3031-\u3035\u309d-\u309e\u30fc-\u30fe";
> +
> +     /** [88] Letter. */
> +     public static final String DIGIT 
= 
"\u0030-\u0039\u0660-\u0669\u06f0-\u06f9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be7-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29";
> +
> +     /** [87] CombiningChar */
> +     public static final String COMBINING_CHAR 
= 
"\u0300-\u0345\u0360-\u0361\u0483-\u0486\u0591-\u05a1\u05a3-\u05b9\u05bb-\u05bd\u05bf\u05c1-\u05c2\u05c4\u064b-\u0652\u0670\u06d6-\u06dc\u06dd-\u06df\u06e0-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0901-\u0903\u093c\u093e-\u094c\u094d\u0951-\u0954\u0962-\u0963\u0981-\u0983\u09bc\u09be\u09bf\u09c0-\u09c4\u09c7-\u09c8\u09cb-\u09cd\u09d7\u09e2-\u09e3\u0a02\u0a3c\u0a3e\u0a3f\u0a40-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a70-\u0a71\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0b01-\u0b03\u0b3c\u0b3e-\u0b43\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b82-\u0b83\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c82-\u0c83\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0d02-\u0d03\u0d3e-\u0d43\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86-\u0f8b\u0f90-\u0f95\u0f97\u0f99-\u0fad\u0fb1-\u0fb7\u0fb9\u20d0-\u20dc\u20e1\u302a-\u302f\u3099\u309a";
> +
> +     /** [86] Ideographic */
> +     public static final String IDEOGRAPHIC 
= "\u4e00-\u9fa5\u3007\u3021-\u3029";
> +
> +     /** [85] BaseChar */
> +     public static final String BASE_CHAR 
= 
"\u0041-\u005a\u0061-\u007a\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u0131\u0134-\u013e\u0141-\u0148\u014a-\u017e\u0180-\u01c3\u01cd-\u01f0\u01f4-\u01f5\u01fa-\u0217\u0250-\u02a8\u02bb-\u02c1\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03ce\u03d0-\u03d6\u03da\u03dc\u03de\u03e0\u03e2-\u03f3\u0401-\u040c\u040e-\u044f\u0451-\u045c\u045e-\u0481\u0490-\u04c4\u04c7-\u04c8\u04cb-\u04cc\u04d0-\u04eb\u04ee-\u04f5\u04f8-\u04f9\u0531-\u0556\u0559\u0561-\u0586\u05d0-\u05ea\u05f0-\u05f2\u0621-\u063a\u0641-\u064a\u0671-\u06b7\u06ba-\u06be\u06c0-\u06ce\u06d0-\u06d3\u06d5\u06e5-\u06e6\u0905-\u0939\u093d\u0958-\u0961\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8b\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ae0\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b36-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb5\u0bb7-\u0bb9\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c60-\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cde\u0ce0-\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d60-\u0d61\u0e01-\u0e2e\u0e30\u0e32-\u0e33\u0e40-\u0e45\u0e81-\u0e82\u0e84\u0e87-\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa-\u0eab\u0ead-\u0eae\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0f40-\u0f47\u0f49-\u0f69\u10a0-\u10c5\u10d0-\u10f6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110b-\u110c\u110e-\u1112\u113c\u113e\u1140\u114c\u114e\u1150\u1154-\u1155\u1159\u115f-\u1161\u1163\u1165\u1167\u1169\u116d-\u116e\u1172-\u1173\u1175\u119e\u11a8\u11ab\u11ae-\u11af\u11b7-\u11b8\u11ba\u11bc-\u11c2\u11eb\u11f0\u11f9\u1e00-\u1e9b\u1ea0-\u1ef9\u1f00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2126\u212a-\u212b\u212e\u2180-\u2182\u3041-\u3094\u30a1-\u30fa\u3105-\u312c\uac00-\ud7a3";
> +
> +     /** [84] Letter. */
> +     public static final String LETTER = BASE_CHAR + IDEOGRAPHIC;
> +
> +     /**
> +      * [4] NameChar - due to regex rules this must be the first expression
> +      * within square parantheses
> +      */
> +     public static final String NAME_CHAR = "-" + LETTER + DIGIT + "." + "_" 
+ ":" + COMBINING_CHAR + EXTENDER;
> +
> +     /** [5] Name. */
> +     public static final String NAME = LETTER + "_" + ":" + "][" + NAME_CHAR;
> +
> +}
> 
> 
> Property changes on: 
trunk/freenet/src/freenet/support/XMLCharacterClasses.java
> ___________________________________________________________________
> Name: svn:keywords
>    + Id
> 
> Modified: trunk/freenet/test/freenet/support/HTMLNodeTest.java
> ===================================================================
> --- trunk/freenet/test/freenet/support/HTMLNodeTest.java      2007-10-12 
> 07:20:20 
UTC (rev 15445)
> +++ trunk/freenet/test/freenet/support/HTMLNodeTest.java      2007-10-14 
> 21:00:40 
UTC (rev 15446)
> @@ -28,12 +28,18 @@
>       
>       private HTMLNode exampleNode;
>       
> -     //example node name that includes a not ASCII char [Greek alpha]
> -     private static final String SAMPLE_NODE_NAME = "s\u03b1mpleNode";
> +     /** Example node name in ASCII only. */
> +     private static final String SAMPLE_OKAY_NODE_NAME = "sampleNode";
>       
> -     //example node attribute that includes a not ASCII char [Greek beta]
> -     private static final String SAMPLE_ATTRIBUTE_NAME 
= "sampleAttri\u03b2uteName";
> +     /** Example node name that includes an invalid char. */
> +     private static final String SAMPLE_WRONG_NODE_NAME = "s\u03a2mpleNode";
>       
> +     /* example node attribute in ASCII only. */
> +     private static final String SAMPLE_OKAY_ATTRIBUTE_NAME 
= "sampleAttributeName";
> +
> +     /** Example attribute name that includes an invalid char. */
> +     private static final String SAMPLE_WRONG_ATTRIBUTE_NAME 
= "s\u03a2mpleAttributeName";
> +
>       //example node attribute value that includes a not ASCII char [Greek 
epsilon]
>       private static final String SAMPLE_ATTRIBUTE_VALUE 
= "sampleAttribut\u03b5Value";
>       
> @@ -42,22 +48,46 @@
>       
>       protected void setUp() throws Exception {
>               super.setUp();
> -             exampleNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             exampleNode = null;
> +             try {
> +                     exampleNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             } catch (IllegalArgumentException iae1) {
> +                     fail("Unexpected exception thrown!");
> +             }
> +             assertNotNull(exampleNode);
> +             assertEquals(0, exampleNode.children.size());
>       }
>       
>       /**
>        * Tests HTMLNode(String,String,String,String) constructor
>        * using non-ASCII chars
>        */
> -     public void testNotAsciiHTMLNode_StringStringStringString() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> -                             SAMPLE_NODE_CONTENT);
> -             assertFalse(exampleNode.children.contains(methodHTMLNode));
> -             exampleNode.addChild(methodHTMLNode);
> -             assertTrue(exampleNode.children.contains(methodHTMLNode));
> +     public void testHTMLNode_StringStringStringString_WrongNodeName() {
> +             try {
> +                     new HTMLNode(SAMPLE_WRONG_NODE_NAME, 
> SAMPLE_OKAY_ATTRIBUTE_NAME, 
SAMPLE_ATTRIBUTE_VALUE, SAMPLE_NODE_CONTENT);
> +                     fail("Expected exception not thrown!");
> +             } catch (IllegalArgumentException iae1) {
> +             }
> +             try {
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME, 
> SAMPLE_OKAY_ATTRIBUTE_NAME, 
SAMPLE_ATTRIBUTE_VALUE, SAMPLE_NODE_CONTENT);
> +             } catch (IllegalArgumentException iae1) {
> +                     fail("Unexpected exception thrown!");
> +             }
>       }
>       
> +     public void testHTMLNode_StringStringStringString_WrongAttributeName() {
> +             try {
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME, 
> SAMPLE_WRONG_ATTRIBUTE_NAME, 
SAMPLE_ATTRIBUTE_VALUE, SAMPLE_NODE_CONTENT);
> +                     fail("Expected exception not thrown!");
> +             } catch (IllegalArgumentException iae1) {
> +             }
> +             try {
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME, 
> SAMPLE_OKAY_ATTRIBUTE_NAME, 
SAMPLE_ATTRIBUTE_VALUE, SAMPLE_NODE_CONTENT);
> +             } catch (IllegalArgumentException iae1) {
> +                     fail("Unexpected exception thrown!");
> +             }
> +     }
> +     
>       /**
>        * Tests HTMLNode(String,String[],String[],String) constructor
>        * verifying if all attributes are correctly inserted
> @@ -67,10 +97,10 @@
>               String[] methodAttributesName = new String[size];
>               String[] methodAttributesValue = new String[size];
>               for (int i=0;i<size;i++) {
> -                     methodAttributesName[i] = "AttributeName " + i;
> +                     methodAttributesName[i] = "AttributeName" + i;
>                       methodAttributesValue[i] = "Value " + i;
>               }
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME,
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME,
>                               methodAttributesName,methodAttributesValue,
>                               SAMPLE_NODE_CONTENT);
>               //checks presence
> @@ -116,9 +146,9 @@
>        * child. The method should rise an exception
>        */
>       public void testAddChildrenUsingTheNodeItselfAsChild() {
> -             HTMLNode[] methodHTMLNodesArray = {new 
> HTMLNode(SAMPLE_NODE_NAME),
> +             HTMLNode[] methodHTMLNodesArray = {new 
> HTMLNode(SAMPLE_OKAY_NODE_NAME),
>                                                                               
>    exampleNode,
> -                                                                             
>    new HTMLNode(SAMPLE_NODE_NAME+"1")};
> +                                                                             
>    new HTMLNode(SAMPLE_OKAY_NODE_NAME+"1")};
>               try {
>                       exampleNode.addChildren(methodHTMLNodesArray);
>                       fail("Expected Exception Error Not Thrown!"); } 
> @@ -135,7 +165,7 @@
>       public void testAddChildSameName() {
>               int times = 100;
>               for (int i = 1; i<=times; i++) {
> -                     exampleNode.addChild(SAMPLE_NODE_NAME);
> +                     exampleNode.addChild(SAMPLE_OKAY_NODE_NAME);
>                       assertEquals(exampleNode.children.size(),i);
>               }
>       }
> @@ -147,7 +177,7 @@
>        * It should raise an IllegalArgument exception.
>        */
>       public void testAddChildSameObject() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
>               exampleNode.addChild(methodHTMLNode);
>               try {
>                       exampleNode.addChild(methodHTMLNode);
> @@ -162,7 +192,7 @@
>        * the same HTMLNode instance two times.
>        */
>       public void testAddChildrenSameObject() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
>               HTMLNode[] methodHTMLNodesArray = {methodHTMLNode,
>                                                                               
>    methodHTMLNode};
>               try {
> @@ -178,13 +208,13 @@
>        * and if it generates good output using generate() method.
>        */
>       public void testAddChild_StringStringString() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> -             methodHTMLNode.addChild(SAMPLE_NODE_NAME, 
> -                             SAMPLE_ATTRIBUTE_NAME, SAMPLE_ATTRIBUTE_VALUE);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             methodHTMLNode.addChild(SAMPLE_OKAY_NODE_NAME, 
> +                             SAMPLE_OKAY_ATTRIBUTE_NAME, 
> SAMPLE_ATTRIBUTE_VALUE);
>               List childrenList = methodHTMLNode.children;
>               assertEquals(1,childrenList.size());
> -             assertEquals(generateNoContentNodeOutput(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE),
> +             assertEquals(generateNoContentNodeOutput(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE),
>                               ((HTMLNode)childrenList.get(0)).generate());
>       }
>       
> @@ -194,14 +224,14 @@
>        * and if it generates good output using generate() method.
>        */
>       public void testAddChild_StringStringStringString() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> -             methodHTMLNode.addChild(SAMPLE_NODE_NAME, 
> -                             SAMPLE_ATTRIBUTE_NAME, SAMPLE_ATTRIBUTE_VALUE,
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             methodHTMLNode.addChild(SAMPLE_OKAY_NODE_NAME, 
> +                             SAMPLE_OKAY_ATTRIBUTE_NAME, 
> SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_NODE_CONTENT);
>               List childrenList = methodHTMLNode.children;
>               assertEquals(1,childrenList.size());
> -             assertEquals(generateFullNodeOutput(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME, SAMPLE_ATTRIBUTE_VALUE, 
> +             assertEquals(generateFullNodeOutput(SAMPLE_OKAY_NODE_NAME,
> +                             SAMPLE_OKAY_ATTRIBUTE_NAME, 
> SAMPLE_ATTRIBUTE_VALUE, 
>                               SAMPLE_NODE_CONTENT),
>                                       
> ((HTMLNode)childrenList.get(0)).generate());
>       }
> @@ -214,8 +244,8 @@
>       public void testAddChild_StringArrayArray() {
>               String[] methodAttributesNamesArray = 
{"firstName","secondName","thirdName"};
>               String[] methodAttributesValuesArray = 
{"firstValue","secondValue","thirdValue"};
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> -             methodHTMLNode.addChild(SAMPLE_NODE_NAME, 
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             methodHTMLNode.addChild(SAMPLE_OKAY_NODE_NAME, 
>                               methodAttributesNamesArray, 
> methodAttributesValuesArray);
>               testSingleChildAttributes(methodHTMLNode, 
>                               methodAttributesNamesArray, 
> methodAttributesValuesArray);
> @@ -229,8 +259,8 @@
>       public void testAddChild_StringArrayArrayString() {
>               String[] methodAttributesNamesArray = 
{"firstName","secondName","thirdName"};
>               String[] methodAttributesValuesArray = 
{"firstValue","secondValue","thirdValue"};
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> -             methodHTMLNode.addChild(SAMPLE_NODE_NAME, 
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             methodHTMLNode.addChild(SAMPLE_OKAY_NODE_NAME, 
>                               methodAttributesNamesArray, 
> methodAttributesValuesArray,
>                               SAMPLE_NODE_CONTENT);
>               testSingleChildAttributes(methodHTMLNode, 
> @@ -259,10 +289,10 @@
>        * "%" named nodes
>        */
>       public void testGetContent() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
>               assertNull(methodHTMLNode.getContent());
>               
> -             methodHTMLNode = new 
> HTMLNode(SAMPLE_NODE_NAME,SAMPLE_NODE_CONTENT);
> +             methodHTMLNode = new 
> HTMLNode(SAMPLE_OKAY_NODE_NAME,SAMPLE_NODE_CONTENT);
>               //since the HTMLNode name is not "#", or "%",
>               //the content will be a new child with the "#" name
>               assertEquals(SAMPLE_NODE_CONTENT,
> @@ -283,15 +313,15 @@
>        * "%" named nodes
>        */
>       public void testGetAttribute() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> -             assertNull(methodHTMLNode.getAttribute(SAMPLE_ATTRIBUTE_NAME));
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             
> assertNull(methodHTMLNode.getAttribute(SAMPLE_OKAY_ATTRIBUTE_NAME));
>               
> -             methodHTMLNode = new 
HTMLNode(SAMPLE_NODE_NAME,SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> -             
assertEquals(SAMPLE_ATTRIBUTE_VALUE,methodHTMLNode.getAttribute(SAMPLE_ATTRIBUTE_NAME));
> -             methodHTMLNode = new 
HTMLNode("#",SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> -             
assertEquals(SAMPLE_ATTRIBUTE_VALUE,methodHTMLNode.getAttribute(SAMPLE_ATTRIBUTE_NAME));
> -             methodHTMLNode = new 
HTMLNode("%",SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> -             
assertEquals(SAMPLE_ATTRIBUTE_VALUE,methodHTMLNode.getAttribute(SAMPLE_ATTRIBUTE_NAME));
> +             methodHTMLNode = new 
HTMLNode(SAMPLE_OKAY_NODE_NAME,SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> +             
assertEquals(SAMPLE_ATTRIBUTE_VALUE,methodHTMLNode.getAttribute(SAMPLE_OKAY_ATTRIBUTE_NAME));
> +             methodHTMLNode = new 
HTMLNode("#",SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> +             
assertEquals(SAMPLE_ATTRIBUTE_VALUE,methodHTMLNode.getAttribute(SAMPLE_OKAY_ATTRIBUTE_NAME));
> +             methodHTMLNode = new 
HTMLNode("%",SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> +             
assertEquals(SAMPLE_ATTRIBUTE_VALUE,methodHTMLNode.getAttribute(SAMPLE_OKAY_ATTRIBUTE_NAME));
>       }
>       
>       /**
> @@ -303,7 +333,7 @@
>               int attributesNumber = 100;
>               String methodAttributeName = "";
>               String counterString = "";
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
>               for (int i=0; i<attributesNumber; i++) {
>                       counterString = String.valueOf(i);
>                       methodAttributeName = "attribute " + counterString; 
> @@ -321,7 +351,7 @@
>        * IllegalArgument exception 
>        */
>       public void testAddAttribute_nullAttributeName() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
>               try {
>                       
> methodHTMLNode.addAttribute(null,SAMPLE_ATTRIBUTE_VALUE);
>                       fail("Expected Exception Error Not Thrown!"); } 
> @@ -336,9 +366,9 @@
>        * IllegalArgument exception 
>        */
>       public void testAddAttribute_nullAttributeValue() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
>               try {
> -                     methodHTMLNode.addAttribute(SAMPLE_ATTRIBUTE_NAME,null);
> +                     
> methodHTMLNode.addAttribute(SAMPLE_WRONG_ATTRIBUTE_NAME,null);
>                       fail("Expected Exception Error Not Thrown!"); } 
>               catch (IllegalArgumentException anException) {
>                       assertNotNull(anException); }
> @@ -352,14 +382,14 @@
>        */
>       public void testHTMLNode_nullAttributeName() {
>               try {
> -                     new HTMLNode(SAMPLE_NODE_NAME,
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME,
>                                       null,SAMPLE_ATTRIBUTE_VALUE,
>                                       SAMPLE_NODE_CONTENT);
>                       fail("Expected Exception Error Not Thrown!"); } 
>               catch (IllegalArgumentException anException) {
>                       assertNotNull(anException); }
>               try {
> -                     new HTMLNode(SAMPLE_NODE_NAME,
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME,
>                                       null,SAMPLE_ATTRIBUTE_VALUE);
>                       fail("Expected Exception Error Not Thrown!"); } 
>               catch (IllegalArgumentException anException) {
> @@ -374,15 +404,15 @@
>        */
>       public void testHTMLNode_nullAttributeValue() {
>               try {
> -                     new HTMLNode(SAMPLE_NODE_NAME,
> -                                     SAMPLE_ATTRIBUTE_NAME,null,
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                                     SAMPLE_WRONG_ATTRIBUTE_NAME,null,
>                                       SAMPLE_NODE_CONTENT);
>                       fail("Expected Exception Error Not Thrown!"); } 
>               catch (IllegalArgumentException anException) {
>                       assertNotNull(anException); }
>               try {
> -                     new HTMLNode(SAMPLE_NODE_NAME,
> -                                     SAMPLE_ATTRIBUTE_NAME,null);
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                                     SAMPLE_WRONG_ATTRIBUTE_NAME,null);
>                       fail("Expected Exception Error Not Thrown!"); } 
>               catch (IllegalArgumentException anException) {
>                       assertNotNull(anException); }
> @@ -408,8 +438,8 @@
>        * IllegalArgument exception
>        */
>       public void testHTMLNodeArray_nullAttributeValue() {
> -             String[] methodAttributesNameArray = {SAMPLE_ATTRIBUTE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_NAME};
> +             String[] methodAttributesNameArray = 
> {SAMPLE_WRONG_ATTRIBUTE_NAME,
> +                             
> SAMPLE_WRONG_ATTRIBUTE_NAME,SAMPLE_WRONG_ATTRIBUTE_NAME};
>               String[] methodAttributesValueArray = {"first",null,"after"};
>               testHTMLNodeArray_null(methodAttributesNameArray, 
methodAttributesValueArray);
>       }
> @@ -422,8 +452,8 @@
>        * IllegalArgument exception
>        */
>       public void testHTMLNode_attributeArrays_differentLengths() {
> -             String[] methodAttributesNameArray = {SAMPLE_ATTRIBUTE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME};
> +             String[] methodAttributesNameArray = 
> {SAMPLE_WRONG_ATTRIBUTE_NAME,
> +                             SAMPLE_WRONG_ATTRIBUTE_NAME};
>               String[] methodAttributesValueArray = {SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_ATTRIBUTE_VALUE,SAMPLE_ATTRIBUTE_VALUE};
>               testHTMLNodeArray_null(methodAttributesNameArray, 
methodAttributesValueArray);
> @@ -438,7 +468,7 @@
>        */
>       private void testHTMLNodeArray_null(String[] attributesNames, String[] 
attributesValues) {
>               try {
> -                     new HTMLNode(SAMPLE_NODE_NAME,
> +                     new HTMLNode(SAMPLE_OKAY_NODE_NAME,
>                                       attributesNames,attributesValues,
>                                       SAMPLE_NODE_CONTENT);
>                       fail("Expected Exception Error Not Thrown!"); } 
> @@ -469,9 +499,9 @@
>               String[] nodeNamesArray = {"textarea","div","a"};
>               for(int i=0;i<nodeNamesArray.length;i++) {
>                       methodHTMLNode = new HTMLNode(nodeNamesArray[i],
> -                                     
> SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> +                                     
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
>                       assertEquals(generateFullNodeOutput(nodeNamesArray[i], 
> -                                     
> SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,""),
> +                                     
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,""),
>                                       methodHTMLNode.generate());
>               }       
>       }
> @@ -486,23 +516,23 @@
>               HTMLNode methodHTMLNode;
>               String[] nodeNamesArray = {"div","form","input",
>                               "script","table","tr","td"};
> -             HTMLNode methodChildNode = new HTMLNode(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> +             HTMLNode methodChildNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_NODE_CONTENT);
>               for(int i=0;i<nodeNamesArray.length;i++) {
>                       methodHTMLNode = new HTMLNode(nodeNamesArray[i],
> -                                     
> SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> +                                     
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
>                                       SAMPLE_NODE_CONTENT);
>                       methodHTMLNode.addChild(methodChildNode);
>                       
>                       assertEquals(("<"+nodeNamesArray[i]+" ").toLowerCase() 
> + 
> -                                      SAMPLE_ATTRIBUTE_NAME + "=" +
> +                                     SAMPLE_OKAY_ATTRIBUTE_NAME + "=" +
>                                        "\""+SAMPLE_ATTRIBUTE_VALUE+"\">" + 
> '\n' +
>                                        SAMPLE_NODE_CONTENT +
>                                        
>                                        //child
> -                                      
> generateFullNodeOutput(SAMPLE_NODE_NAME,
> -                                                             
> SAMPLE_ATTRIBUTE_NAME, SAMPLE_ATTRIBUTE_VALUE, 
> +                                      
> generateFullNodeOutput(SAMPLE_OKAY_NODE_NAME,
> +                                                      
> SAMPLE_OKAY_ATTRIBUTE_NAME, SAMPLE_ATTRIBUTE_VALUE, 
>                                                               
> SAMPLE_NODE_CONTENT) +
>                                        
>                                        
> ("</"+nodeNamesArray[i]+">").toLowerCase() + '\n',
> @@ -517,8 +547,8 @@
>        * <node_name />
>        */
>       public void testGenerate_fromHTMLNode_String() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME);
> -             assertEquals(("<"+SAMPLE_NODE_NAME+" />").toLowerCase(),
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME);
> +             assertEquals(("<"+SAMPLE_OKAY_NODE_NAME+" />").toLowerCase(),
>                                       methodHTMLNode.generate());
>       }
>       
> @@ -529,10 +559,10 @@
>        * <node_name>Node_Content</node_name>
>        */
>       public void testGenerate_fromHTMLNode_StringString() {
> -             HTMLNode methodHTMLNode = new 
HTMLNode(SAMPLE_NODE_NAME,SAMPLE_NODE_CONTENT);
> -             assertEquals(("<"+SAMPLE_NODE_NAME+">").toLowerCase() + 
> +             HTMLNode methodHTMLNode = new 
HTMLNode(SAMPLE_OKAY_NODE_NAME,SAMPLE_NODE_CONTENT);
> +             assertEquals(("<"+SAMPLE_OKAY_NODE_NAME+">").toLowerCase() + 
>                                        SAMPLE_NODE_CONTENT +
> -                                      
> ("</"+SAMPLE_NODE_NAME+">").toLowerCase(),
> +                                      
> ("</"+SAMPLE_OKAY_NODE_NAME+">").toLowerCase(),
>                                       methodHTMLNode.generate());
>       }
>       
> @@ -543,10 +573,10 @@
>        * <node_name Attribute_Name="Attribute_Value" />
>        */
>       public void testGenerate_fromHTMLNode_StringStringString() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> -             assertEquals(generateNoContentNodeOutput(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE),
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE);
> +             assertEquals(generateNoContentNodeOutput(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE),
>                                       methodHTMLNode.generate());
>       }
>       
> @@ -557,11 +587,11 @@
>        * <node_name Attribute_Name="Attribute_Value">Node_Content</node_name>
>        */
>       public void testGenerate_fromHTMLNode_StringStringStringString() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_NODE_CONTENT);
> -             assertEquals(generateFullNodeOutput(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME, SAMPLE_ATTRIBUTE_VALUE, 
> +             assertEquals(generateFullNodeOutput(SAMPLE_OKAY_NODE_NAME,
> +                             SAMPLE_OKAY_ATTRIBUTE_NAME, 
> SAMPLE_ATTRIBUTE_VALUE, 
>                               SAMPLE_NODE_CONTENT),
>                                       methodHTMLNode.generate());
>       }
> @@ -607,26 +637,26 @@
>        * </node_name>
>        */
>       public void testGenerate_HTMLNode_withChild() {
> -             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> +             HTMLNode methodHTMLNode = new HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_NODE_CONTENT);
> -             HTMLNode methodHTMLNodeChild = new HTMLNode(SAMPLE_NODE_NAME,
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> +             HTMLNode methodHTMLNodeChild = new 
> HTMLNode(SAMPLE_OKAY_NODE_NAME,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_NODE_CONTENT);
>               
>               methodHTMLNode.addChild(methodHTMLNodeChild);
>               
> -             assertEquals(("<"+SAMPLE_NODE_NAME+" ").toLowerCase() + 
> -                              SAMPLE_ATTRIBUTE_NAME + "=" +
> +             assertEquals(("<"+SAMPLE_OKAY_NODE_NAME+" ").toLowerCase() + 
> +                             SAMPLE_OKAY_ATTRIBUTE_NAME + "=" +
>                                "\""+SAMPLE_ATTRIBUTE_VALUE+"\">" +
>                                SAMPLE_NODE_CONTENT +
>                                
>                                //child
> -                              generateFullNodeOutput(SAMPLE_NODE_NAME,
> -                                                     SAMPLE_ATTRIBUTE_NAME, 
> SAMPLE_ATTRIBUTE_VALUE, 
> +                              generateFullNodeOutput(SAMPLE_OKAY_NODE_NAME,
> +                                              SAMPLE_OKAY_ATTRIBUTE_NAME, 
> SAMPLE_ATTRIBUTE_VALUE, 
>                                                       SAMPLE_NODE_CONTENT) +
>                                
> -                              ("</"+SAMPLE_NODE_NAME+">").toLowerCase(),
> +                              ("</"+SAMPLE_OKAY_NODE_NAME+">").toLowerCase(),
>                                methodHTMLNode.generate());
>       }
>       
> @@ -637,7 +667,7 @@
>        */
>       public void testGenerate_fromHTMLNode_percentName() {
>               HTMLNode methodHTMLNode = new HTMLNode("%",
> -                             SAMPLE_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
> +                             
> SAMPLE_OKAY_ATTRIBUTE_NAME,SAMPLE_ATTRIBUTE_VALUE,
>                               SAMPLE_NODE_CONTENT);
>               assertEquals(SAMPLE_NODE_CONTENT,
>                               methodHTMLNode.generate());
> @@ -652,7 +682,7 @@
>               String sampleDocType = "html";
>               String sampleSystemUri = "-//W3C//DTD XHTML 1.1//EN";
>               HTMLNode methodHTMLNodeDoc = new 
HTMLNode.HTMLDoctype(sampleDocType,sampleSystemUri);
> -             methodHTMLNodeDoc.addChild(SAMPLE_NODE_NAME);
> +             methodHTMLNodeDoc.addChild(SAMPLE_OKAY_NODE_NAME);
>               String generatedString = methodHTMLNodeDoc.generate();
>               //consider only the HTMLDocType generated text
>               assertEquals("<!DOCTYPE "+sampleDocType+" PUBLIC 
\""+sampleSystemUri+"\">",      
> 
> _______________________________________________
> cvs mailing list
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: 
<https://emu.freenetproject.org/pipermail/cvs/attachments/20071022/02e075b1/attachment.pgp>

Reply via email to