aboutsummaryrefslogtreecommitdiffstats
path: root/tests/netx/unit/sun/applet/PluginParameterParserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/netx/unit/sun/applet/PluginParameterParserTest.java')
-rw-r--r--tests/netx/unit/sun/applet/PluginParameterParserTest.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/netx/unit/sun/applet/PluginParameterParserTest.java b/tests/netx/unit/sun/applet/PluginParameterParserTest.java
new file mode 100644
index 0000000..162d603
--- /dev/null
+++ b/tests/netx/unit/sun/applet/PluginParameterParserTest.java
@@ -0,0 +1,73 @@
+package sun.applet;
+
+import static org.junit.Assert.*;
+
+import java.util.Map;
+
+import net.sourceforge.jnlp.PluginParameters;
+
+import org.junit.Test;
+
+public class PluginParameterParserTest {
+
+ @Test
+ public void testIsInt() {
+ assertFalse(PluginParameterParser.isInt("1.0"));
+ assertFalse(PluginParameterParser.isInt("abc"));
+ assertTrue(PluginParameterParser.isInt("1"));
+ }
+
+ @Test
+ public void testUnescapeString() {
+ assertEquals("", PluginParameterParser.unescapeString(""));
+ assertEquals("\n", PluginParameterParser.unescapeString("\n"));
+ assertEquals("\\", PluginParameterParser.unescapeString("\\\\"));
+ assertEquals(";", PluginParameterParser.unescapeString("\\:"));
+
+ assertEquals("test\n\\;",
+ PluginParameterParser.unescapeString("test" + "\\n" + "\\\\" + "\\:"));
+
+ assertEquals("start\n;end\\;",
+ PluginParameterParser.unescapeString("start\\n\\:end\\\\;"));
+ }
+
+ @Test
+ public void testParseEscapedKeyValuePairs() {
+ Map<String, String> params;
+
+ params = PluginParameterParser.parseEscapedKeyValuePairs("key1;value1;KEY2\\:;value2\\\\;");
+ assertEquals(params.size(), 2);
+ assertEquals(params.get("key1"), "value1");
+ assertEquals(params.get("key2;"), "value2\\"); // ensure key is lowercased
+
+ params = PluginParameterParser.parseEscapedKeyValuePairs("");
+ assertEquals(params.size(), 0);
+
+ params = PluginParameterParser.parseEscapedKeyValuePairs("key;;");
+ assertEquals(params.size(), 1);
+ assertEquals(params.get("key"), "");
+
+ params = PluginParameterParser.parseEscapedKeyValuePairs(";value;");
+ assertEquals(params.size(), 1);
+ assertEquals(params.get(""), "value");
+ }
+
+ @Test
+ public void testAttributeParseWidthHeightAttributes() {
+ final String width = "1", height = "1";
+ final String codeKeyVal = "code;codeValue;";
+
+ PluginParameterParser parser = new PluginParameterParser();
+ PluginParameters params;
+
+ params = parser.parse(width, height, codeKeyVal);
+ assertEquals("1", params.get("width"));
+ assertEquals("1", params.get("height"));
+
+ //Test that width height are defaulted to in case of not-a-number attributes:
+ params = parser.parse(width, height, codeKeyVal + " width;NAN;height;NAN;");
+ assertEquals("1", params.get("width"));
+ assertEquals("1", params.get("height"));
+ }
+
+}