package org.simpleframework.http.parse; import junit.framework.TestCase; import org.simpleframework.http.parse.ContentTypeParser; public class ContentTypeParserTest extends TestCase { private ContentTypeParser type; protected void setUp() { type = new ContentTypeParser(); } public void testEmpty() { assertEquals(null, type.getPrimary()); assertEquals(null, type.getSecondary()); assertEquals(null, type.getCharset()); } public void testPlain() { type.parse("text/html"); assertEquals("text", type.getPrimary()); assertEquals("html", type.getSecondary()); type.setSecondary("plain"); assertEquals("text", type.getPrimary()); assertEquals("plain", type.getSecondary()); } public void testCharset() { type.parse("text/html; charset=UTF-8"); assertEquals("text", type.getPrimary()); assertEquals("UTF-8", type.getCharset()); assertEquals("text/html", type.getType()); type.setCharset("ISO-8859-1"); assertEquals("ISO-8859-1", type.getCharset()); } public void testIgnore() { type.parse("text/html; name=value; charset=UTF-8; property=value"); assertEquals("UTF-8", type.getCharset()); assertEquals("html", type.getSecondary()); } public void testFlexibility() { type.parse(" text/html ;charset= UTF-8 ; name = value" ); assertEquals("text", type.getPrimary()); assertEquals("html", type.getSecondary()); assertEquals("text/html", type.getType()); assertEquals("UTF-8", type.getCharset()); } public void testString() { type.parse(" image/gif; name=value"); assertEquals("image/gif; name=value", type.toString()); type.parse(" text/html; charset =ISO-8859-1"); assertEquals("text/html; charset=ISO-8859-1", type.toString()); assertEquals("text/html", type.getType()); type.setSecondary("css"); assertEquals("text", type.getPrimary()); assertEquals("css", type.getSecondary()); assertEquals("text/css", type.getType()); assertEquals("text/css; charset=ISO-8859-1", type.toString()); type.setPrimary("image"); assertEquals("image", type.getPrimary()); assertEquals("css", type.getSecondary()); assertEquals("image/css", type.getType()); } }