From 07debbc4fcc25b31d0231230ff2093926580129e Mon Sep 17 00:00:00 2001 From: Saad Mohammad Date: Tue, 13 Nov 2012 10:55:19 -0500 Subject: Unit tests for PR1166 --- .../netx/unit/net/sourceforge/jnlp/ParserTest.java | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'tests/netx/unit/net/sourceforge/jnlp/ParserTest.java') diff --git a/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java b/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java index 47b3010..7def639 100644 --- a/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java +++ b/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java @@ -38,6 +38,7 @@ exception statement from your version. package net.sourceforge.jnlp; import java.io.ByteArrayInputStream; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -1355,4 +1356,60 @@ public class ParserTest { parser.checkForInformation(); } + + @Test + public void testOverwrittenCodebaseWithValidJnlpCodebase() throws Exception { + String data = "\n" + + "\n" + + ""; + + Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + + MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); + Parser parser = new Parser(file, null, root, false, false, overwrittenCodebase); + + Assert.assertEquals("http://www.redhat.com/", parser.getCodeBase().toExternalForm()); + } + + @Test + public void testOverwrittenCodebaseWithInvalidJnlpCodebase() throws Exception { + String data = "\n" + + "\n" + + ""; + + Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + + MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); + Parser parser = new Parser(file, null, root, false, false, overwrittenCodebase); + + Assert.assertEquals(overwrittenCodebase.toExternalForm(), parser.getCodeBase().toExternalForm()); + } + + @Test + public void testOverwrittenCodebaseWithNoJnlpCodebase() throws Exception { + String data = "\n" + + "\n" + + ""; + + Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes())); + Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); + URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); + + MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); + Parser parser = new Parser(file, null, root, false, false, overwrittenCodebase); + + Assert.assertEquals(overwrittenCodebase.toExternalForm(), parser.getCodeBase().toExternalForm()); + } } -- cgit v1.2.3