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

Matthew Toseland toad at amphibian.dyndns.org
Mon Oct 22 17:41:55 UTC 2007


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 : http://emu.freenetproject.org/pipermail/cvs/attachments/20071022/02e075b1/attachment.pgp 


More information about the cvs mailing list