[freenet-cvs] r15446 - in trunk/freenet: src/freenet/support test/freenet/support

bombe at freenetproject.org bombe at freenetproject.org
Sun Oct 14 21:00:40 UTC 2007


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+"\">", 	




More information about the cvs mailing list