You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2013/07/31 08:39:43 UTC
svn commit: r1508740 - in /webservices/axiom/trunk/modules/axiom-api/src:
main/java/org/apache/axiom/mime/ContentTypeTokenizer.java
test/java/org/apache/axiom/mime/ContentTypeTest.java
test/java/org/apache/axiom/mime/MediaTypeTest.java
Author: veithen
Date: Wed Jul 31 06:39:43 2013
New Revision: 1508740
URL: http://svn.apache.org/r1508740
Log:
Increased test coverage and removed some unused code.
Modified:
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/mime/ContentTypeTokenizer.java
webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/ContentTypeTest.java
webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/MediaTypeTest.java
Modified: webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/mime/ContentTypeTokenizer.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/mime/ContentTypeTokenizer.java?rev=1508740&r1=1508739&r2=1508740&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/mime/ContentTypeTokenizer.java (original)
+++ webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/mime/ContentTypeTokenizer.java Wed Jul 31 06:39:43 2013
@@ -46,7 +46,6 @@ final class ContentTypeTokenizer {
// Just loop
}
int end = index;
- skipWhiteSpace();
for (; end > begin && whitespace.indexOf(s.charAt(end-1)) != -1; end--) {
// Just loop
}
@@ -100,12 +99,9 @@ final class ContentTypeTokenizer {
} else {
return requireToken();
}
+ } else {
+ throw new ParseException("Unexpected end of string; expected token or quoted string", index);
}
- return null;
- }
-
- int getChar() {
- return index == s.length() ? -1 : s.charAt(index++);
}
boolean expect(char c) throws ParseException {
@@ -127,8 +123,4 @@ final class ContentTypeTokenizer {
throw new ParseException("Unexpected end of string; expected '" + c + "'", index);
}
}
-
- boolean hasMoreTokens() {
- return index < s.length();
- }
}
Modified: webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/ContentTypeTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/ContentTypeTest.java?rev=1508740&r1=1508739&r2=1508740&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/ContentTypeTest.java (original)
+++ webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/ContentTypeTest.java Wed Jul 31 06:39:43 2013
@@ -18,6 +18,8 @@
*/
package org.apache.axiom.mime;
+import java.text.ParseException;
+
import junit.framework.TestCase;
public class ContentTypeTest extends TestCase {
@@ -55,4 +57,78 @@ public class ContentTypeTest extends Tes
assertEquals(new MediaType("text", "xml"), ct.getMediaType());
assertEquals("utf-8", ct.getParameter("charset"));
}
+
+ public void testParseWithExtraSpaces() throws Exception {
+ ContentType ct = new ContentType("text/xml ; charset = utf-8 ");
+ assertEquals(new MediaType("text", "xml"), ct.getMediaType());
+ assertEquals("utf-8", ct.getParameter("charset"));
+ }
+
+ public void testParseWithQuotedPair() throws Exception {
+ ContentType ct = new ContentType("application/x-some-format; comment=\"this is not a \\\"quote\\\"\"");
+ assertEquals("this is not a \"quote\"", ct.getParameter("comment"));
+ }
+
+ public void testParseInvalid1() {
+ try {
+ new ContentType("text/xml; ?");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
+
+ public void testParseInvalid2() {
+ try {
+ new ContentType("text/");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
+
+ public void testParseInvalid3() {
+ try {
+ new ContentType("text/xml; charset=");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
+
+ public void testParseInvalid4() {
+ try {
+ new ContentType("text/xml; charset=\"asc");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
+
+ public void testParseInvalid5() {
+ try {
+ new ContentType("text/xml; param=\"test\\");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
+
+ public void testParseInvalid6() {
+ try {
+ new ContentType("text/xml; param;");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
+
+ public void testParseInvalid7() {
+ try {
+ new ContentType("text/xml; param");
+ fail("Expected ParseException");
+ } catch (ParseException ex) {
+ // Expected
+ }
+ }
}
Modified: webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/MediaTypeTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/MediaTypeTest.java?rev=1508740&r1=1508739&r2=1508740&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/MediaTypeTest.java (original)
+++ webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/mime/MediaTypeTest.java Wed Jul 31 06:39:43 2013
@@ -36,6 +36,7 @@ public class MediaTypeTest extends TestC
assertFalse(mt1.equals(mt3));
assertFalse(mt1.equals(mt4));
assertFalse(mt3.equals(mt4));
+ assertFalse(mt1.equals("test"));
}
public void testEqualsIgnoresCase() {