You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by se...@apache.org on 2007/04/24 16:59:08 UTC
svn commit: r531968 -
/jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
Author: seade
Date: Tue Apr 24 07:59:07 2007
New Revision: 531968
URL: http://svn.apache.org/viewvc?view=rev&rev=531968
Log:
Adding a test case that causes an error. The parser code needs to deal with FileItems a little better than it currently does.
Modified:
jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
Modified: jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java?view=diff&rev=531968&r1=531967&r2=531968
==============================================================================
--- jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java (original)
+++ jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java Tue Apr 24 07:59:07 2007
@@ -17,7 +17,12 @@
*/
+import java.util.Iterator;
+
import org.apache.avalon.framework.component.ComponentException;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.fulcrum.testcontainer.BaseUnitTest;
/**
* Basic test that ParameterParser instantiates.
@@ -68,5 +73,44 @@
assertEquals("TRIMMED_and_Not_Modified",parameterParser.convertAndTrim(" TRIMMED_and_Not_Modified ", ParameterParser.URL_CASE_FOLDING_NONE));
assertEquals("trimmed_and_lower_case",parameterParser.convertAndTrim(" TRIMMED_and_Lower_Case ", ParameterParser.URL_CASE_FOLDING_LOWER));
assertEquals("TRIMMED_AND_UPPER_CASE",parameterParser.convertAndTrim(" TRIMMED_and_Upper_Case ", ParameterParser.URL_CASE_FOLDING_UPPER));
+ }
+
+ /**
+ * This Test method checks the DefaultParameterParser which carries two Sets inside it.
+ * The suggested problem was that pp.keySet() returns both Keys, but pp.getStrings("key")
+ * only checks for keys which are not FileItems.
+ *
+ * @throws Exception
+ */
+ public void testAddPathInfo() throws Exception
+ {
+ FileItemFactory factory = new DiskFileItemFactory(10240, null);
+
+ assertEquals("keySet() is not empty!", 0, parameterParser.keySet().size());
+
+ FileItem test = factory.createItem("upload-field", "application/octet-stream", false, null);
+ // Push this into the parser using DefaultParameterParser's add() method.
+ ((DefaultParameterParser) parameterParser).add("upload-field", test);
+
+ assertEquals("FileItem not found in keySet()!", 1, parameterParser.keySet().size());
+
+ Iterator it = parameterParser.keySet().iterator();
+ assertTrue(it.hasNext());
+
+ String name = (String) it.next();
+ assertEquals("Wrong name found", "upload-field", name);
+
+ assertFalse(it.hasNext());
+
+ parameterParser.add("other-field", "foo");
+
+ assertEquals("Wrong number of fields found ", 2, parameterParser.getKeys().length);
+
+ assertTrue(parameterParser.containsKey("upload-field"));
+ assertTrue(parameterParser.containsKey("other-field"));
+
+ // The following will actually cause a ClassCastException because getStrings() (and others) are not catering for FileItems.
+ assertNull("The returned should be null because a FileItem is not a String", parameterParser.getStrings("upload-field"));
+ assertFalse(parameterParser.containsKey("missing-field"));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org