aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp61
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp53
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp53
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp53
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html42
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java76
-rw-r--r--tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java289
-rw-r--r--tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp61
-rw-r--r--tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html42
-rw-r--r--tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java35
-rw-r--r--tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java132
-rw-r--r--tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java55
-rw-r--r--tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java98
13 files changed, 1048 insertions, 2 deletions
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp
new file mode 100644
index 0000000..ba5cbc3
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp
@@ -0,0 +1,61 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="NotOnly spaces can kill ěščřž too signed.jnlp" codebase=".">
+ <information>
+ <title>Spaces can be everywhere test with few more chars for encoding signed</title>
+ <vendor>IcedTea</vendor>
+ <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+ <description>AppletTest</description>
+ <offline/>
+ </information>
+ <resources>
+ <j2se version="1.4+"/>
+ <jar href="Spaces can be everywhere signed.jar"/>
+ </resources>
+ <applet-desc
+ documentBase="."
+ name="SpacesCanBeEverywhereSigned"
+ main-class="SpacesCanBeEverywhereSigned"
+ width="100"
+ height="100">
+ </applet-desc>
+</jnlp>
+
+
+</applet-desc>
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp
new file mode 100644
index 0000000..e73043c
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp
@@ -0,0 +1,53 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="Spaces can be everywhere1 signed.jnlp" codebase=".">
+ <information>
+ <title>Spaces can be everywhere1 signed</title>
+ <vendor>IcedTea</vendor>
+ <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+ <description>Spaces can be everywhere1 signed</description>
+ <offline/>
+ </information>
+ <resources>
+ <j2se version="1.4+"/>
+ <jar href="SimpletestSigned1.jar"/>
+ </resources>
+ <application-desc main-class="SimpletestSigned1">
+ </application-desc>
+</jnlp>
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp
new file mode 100644
index 0000000..872fb8c
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp
@@ -0,0 +1,53 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="Spaces can be everywhere2 signed.jnlp" codebase=".">
+ <information>
+ <title>Spaces can be everywhere2</title>
+ <vendor>IcedTea</vendor>
+ <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+ <description>Spaces can be everywhere2 signed</description>
+ <offline/>
+ </information>
+ <resources>
+ <j2se version="1.4+"/>
+ <jar href="Spaces can be everywhere signed.jar"/>
+ </resources>
+ <application-desc main-class="SpacesCanBeEverywhereSigned">
+ </application-desc>
+</jnlp>
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp
new file mode 100644
index 0000000..801a62b
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp
@@ -0,0 +1,53 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="SpacesCanBeEverywhere1signed.jnlp" codebase=".">
+ <information>
+ <title>Spaces can be everywhere signed</title>
+ <vendor>IcedTea</vendor>
+ <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+ <description>simpletest1</description>
+ <offline/>
+ </information>
+ <resources>
+ <j2se version="1.4+"/>
+ <jar href="Spaces can be everywhere signed.jar"/>
+ </resources>
+ <application-desc main-class="SpacesCanBeEverywhereSigned">
+ </application-desc>
+</jnlp>
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html
new file mode 100644
index 0000000..32e60b4
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html
@@ -0,0 +1,42 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<html><head></head><body bgcolor="red">
+<p><applet code="SpacesCanBeEverywhereSigned.class" archive="Spaces can be everywhere signed.jar" codebase="." width=800 height=600>
+</applet></p>
+</body>
+</html>
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java b/tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java
new file mode 100644
index 0000000..25d28cf
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java
@@ -0,0 +1,76 @@
+
+import java.applet.Applet;
+
+/* SpacesCanBeEverywhereSigned.java
+Copyright (C) 2012 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+ */
+
+public class SpacesCanBeEverywhereSigned extends Applet{
+
+ public static void main(String[] args){
+ System.out.println("Signed spaces can be everywhere.jsr was launched correctly");
+ }
+
+ private class Killer extends Thread {
+
+ public int n = 2000;
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(n);
+ System.out.println("Applet killing himself after " + n + " ms of life");
+ System.exit(0);
+ } catch (Exception ex) {
+ }
+ }
+ }
+ private Killer killer;
+
+ @Override
+ public void init() {
+ killer = new Killer();
+ }
+
+ @Override
+ public void start() {
+ main(null);
+ killer.start();
+ System.out.println("killer was started");
+ }
+
+
+}
diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java b/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java
new file mode 100644
index 0000000..03fcfe0
--- /dev/null
+++ b/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java
@@ -0,0 +1,289 @@
+/* SpacesCanBeEverywhereTestsSigned.java
+Copyright (C) 20121 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+import net.sourceforge.jnlp.ServerAccess;
+import net.sourceforge.jnlp.annotations.Bug;
+import net.sourceforge.jnlp.annotations.NeedsDisplay;
+import org.junit.Assert;
+
+import org.junit.Test;
+
+@Bug(id={"http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016127.html","PR804","PR811"})
+public class SpacesCanBeEverywhereTestsSigned {
+
+ private static ServerAccess server = new ServerAccess();
+
+ @Bug(id="PR811")
+ @Test
+ @NeedsDisplay
+ public void SpacesCanBeEverywhereLocalAppletTestsJnlp2Signed() throws Exception {
+ System.out.println("connecting NotOnly spaces can kill ěščřž too signed.jnlp request");
+ System.err.println("connecting NotOnly spaces can kill ěščřž too signed.jnlp request");
+ List<String> commands=new ArrayList<String>(1);
+ commands.add(server.getJavawsLocation());
+ commands.add(server.getDir()+"/NotOnly spaces can kill ěščřž too signed.jnlp");
+ /* Change of dir is cousing the Exception bellow
+ * ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir());
+ * No X11 DISPLAY variable was set, but this program performed an operation which requires it.
+ * at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
+ * at java.awt.Window.<init>(Window.java:476)
+ * at java.awt.Frame.<init>(Frame.java:419)
+ * at java.awt.Frame.<init>(Frame.java:384)
+ * at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1754)
+ * at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1831)
+ * at javax.swing.JWindow.<init>(JWindow.java:185)
+ * at javax.swing.JWindow.<init>(JWindow.java:137)
+ * at net.sourceforge.jnlp.runtime.JNLPSecurityManager.<init>(JNLPSecurityManager.java:121)
+ * at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:202)
+ * at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:177)
+ * at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:51)
+ * at java.security.AccessController.doPrivileged(Native Method)
+ * at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:168)
+ *
+ * Thats why there is absolute path to the file.
+ *
+ * This is also why SpacesCanBeEverywhereLocalTests1Signed is passing -
+ * it is in headless mode. This can be considered as bug, but because it is
+ * only on ocal files, and probably only from test run - it can be ignored
+ */
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands);
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "xception";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ @NeedsDisplay
+ public void SpacesCanBeEverywhereRemoteAppletTestsJnlp2Signed() throws Exception {
+ System.out.println("connecting NotOnly spaces can kill ěščřž too signed.jnlp request");
+ System.err.println("connecting NotOnly spaces can kill ěščřž too signed.jnlp request");
+ ServerAccess.ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too%20signed.jnlp");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "xception";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should NOT be terminated, but was not", pr.wasTerminated);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ @NeedsDisplay
+ public void SpacesCanBeEverywhereRemoteAppletTestsHtml2Signed() throws Exception {
+ System.out.println("connecting spaces applet Tests signed.html request");
+ System.err.println("connecting spaces applet Tests signed.html request");
+ ServerAccess.ProcessResult pr = server.executeBrowser("/spaces+applet+Tests+signed.html");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "xception";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertTrue("should be terminated, but was not", pr.wasTerminated);
+ }
+
+
+ @Bug(id={"PR811","http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016144.html"})
+ @Test
+ public void SpacesCanBeEverywhereRemoteTests1Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests1 signed request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests1 signed request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere1%20signed.jnlp");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s = "Good simple javaws exapmle";
+ Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ public void SpacesCanBeEverywhereRemoteTests2Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ public void SpacesCanBeEverywhereRemoteTests2Signed_withQuery1() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp?test=20");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ public void SpacesCanBeEverywhereRemoteTests2Signed_withQuery2() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 signed request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2%20signed.jnlp?test%3D20");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ public void SpacesCanBeEverywhereRemoteTests3Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests3signed request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests3signed request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/SpacesCanBeEverywhere1signed.jnlp");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+
+ @Bug(id="PR804")
+ @Test
+ public void SpacesCanBeEverywhereLocalTests1Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereLocalTests1 request");
+ System.err.println("connecting SpacesCanBeEverywhereLocalTests1 request");
+ List<String> commands=new ArrayList<String>(4);
+ commands.add(server.getJavawsLocation());
+ commands.add(ServerAccess.HEADLES_OPTION);
+ commands.add("Spaces can be everywhere1.jnlp");
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir());
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s = "Good simple javaws exapmle";
+ Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR804")
+ @Test
+ public void SpacesCanBeEverywhereLocalTests2Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereLocalTests2 signed request");
+ System.err.println("connecting SpacesCanBeEverywhereLocalTests2 signed request");
+ List<String> commands=new ArrayList<String>(4);
+ commands.add(server.getJavawsLocation());
+ commands.add(ServerAccess.HEADLES_OPTION);
+ commands.add("Spaces can be everywhere2 signed.jnlp");
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir());
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR804")
+ @Test
+ public void SpacesCanBeEverywhereLocalTests4Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereLocalTests2 signed request");
+ System.err.println("connecting SpacesCanBeEverywhereLocalTests2 signed request");
+ List<String> commands=new ArrayList<String>(4);
+ commands.add(server.getJavawsLocation());
+ commands.add(ServerAccess.HEADLES_OPTION);
+ commands.add(server.getDir()+"/Spaces can be everywhere2 signed.jnlp");
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands);
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR804")
+ @Test
+ public void SpacesCanBeEverywhereLocalTests3Signed() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereLocalTests3signed request");
+ System.err.println("connecting SpacesCanBeEverywhereLocalTests3signed request");
+ List<String> commands=new ArrayList<String>(4);
+ commands.add(server.getJavawsLocation());
+ commands.add(ServerAccess.HEADLES_OPTION);
+ commands.add("SpacesCanBeEverywhere1signed.jnlp");
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir());
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Signed spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+}
diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp b/tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp
new file mode 100644
index 0000000..9856676
--- /dev/null
+++ b/tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp
@@ -0,0 +1,61 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="NotOnly spaces can kill ěščřž too.jnlp" codebase=".">
+ <information>
+ <title>Spaces can be everywhere test with few more chars for encoding</title>
+ <vendor>IcedTea</vendor>
+ <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+ <description>AppletTest</description>
+ <offline/>
+ </information>
+ <resources>
+ <j2se version="1.4+"/>
+ <jar href="Spaces can be everywhere.jar"/>
+ </resources>
+ <applet-desc
+ documentBase="."
+ name="SpacesCanBeEverywhere"
+ main-class="SpacesCanBeEverywhere"
+ width="100"
+ height="100">
+ </applet-desc>
+</jnlp>
+
+
+</applet-desc>
diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html b/tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html
new file mode 100644
index 0000000..74b7554
--- /dev/null
+++ b/tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html
@@ -0,0 +1,42 @@
+<!--
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+IcedTea is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ -->
+<html><head></head><body bgcolor="blue">
+<p><applet code="SpacesCanBeEverywhere.class" archive="Spaces can be everywhere.jar" codebase="." width=800 height=600>
+</applet></p>
+</body>
+</html>
diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java b/tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java
index 15a5f31..e65544b 100644
--- a/tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java
+++ b/tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java
@@ -1,3 +1,6 @@
+
+import java.applet.Applet;
+
/* SpacesCanBeEverywhere.java
Copyright (C) 2011 Red Hat, Inc.
@@ -35,9 +38,39 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
*/
-public class SpacesCanBeEverywhere{
+public class SpacesCanBeEverywhere extends Applet{
public static void main(String[] args){
System.out.println("Spaces can be everywhere.jsr was launched correctly");
}
+
+ private class Killer extends Thread {
+
+ public int n = 2000;
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(n);
+ System.out.println("Applet killing himself after " + n + " ms of life");
+ System.exit(0);
+ } catch (Exception ex) {
+ }
+ }
+ }
+ private Killer killer;
+
+ @Override
+ public void init() {
+ killer = new Killer();
+ }
+
+ @Override
+ public void start() {
+ main(null);
+ killer.start();
+ System.out.println("killer was started");
+ }
+
+
}
diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java b/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java
index 392f20c..3b6cbf3 100644
--- a/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java
+++ b/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java
@@ -35,11 +35,11 @@ obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
*/
-import java.io.File;
import java.util.ArrayList;
import java.util.List;
import net.sourceforge.jnlp.ServerAccess;
import net.sourceforge.jnlp.annotations.Bug;
+import net.sourceforge.jnlp.annotations.NeedsDisplay;
import org.junit.Assert;
import org.junit.Test;
@@ -49,6 +49,83 @@ public class SpacesCanBeEverywhereTests {
private static ServerAccess server = new ServerAccess();
+ @Bug(id="PR811")
+ @Test
+ @NeedsDisplay
+ public void SpacesCanBeEverywhereLocalAppletTestsJnlp2() throws Exception {
+ System.out.println("connecting NotOnly spaces can kill ěščřž too.jnlp request");
+ System.err.println("connecting NotOnly spaces can kill ěščřž too.jnlp request");
+ List<String> commands=new ArrayList<String>(1);
+ commands.add(server.getJavawsLocation());
+ commands.add(server.getDir()+"/NotOnly spaces can kill ěščřž too.jnlp");
+ /* Change of dir is cousing the Exception bellow
+ * ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir());
+ * No X11 DISPLAY variable was set, but this program performed an operation which requires it.
+ * at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
+ * at java.awt.Window.<init>(Window.java:476)
+ * at java.awt.Frame.<init>(Frame.java:419)
+ * at java.awt.Frame.<init>(Frame.java:384)
+ * at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1754)
+ * at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1831)
+ * at javax.swing.JWindow.<init>(JWindow.java:185)
+ * at javax.swing.JWindow.<init>(JWindow.java:137)
+ * at net.sourceforge.jnlp.runtime.JNLPSecurityManager.<init>(JNLPSecurityManager.java:121)
+ * at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:202)
+ * at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:177)
+ * at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:51)
+ * at java.security.AccessController.doPrivileged(Native Method)
+ * at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:168)
+ *
+ * Thats why there is absolute path to the file.
+ *
+ * This is also why SpacesCanBeEverywhereLocalTests1Signed is passing -
+ * it is in headless mode. This can be considered as bug, but because it is
+ * only on ocal files, and probably only from test run - it can be ignored
+ */
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands);
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "xception";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ @NeedsDisplay
+ public void SpacesCanBeEverywhereRemoteAppletTestsJnlp2() throws Exception {
+ System.out.println("connecting NotOnly spaces can kill ěščřž too.jnlp request");
+ System.err.println("connecting NotOnly spaces can kill ěščřž too.jnlp request");
+ ServerAccess.ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too.jnlp");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "xception";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should NOT be terminated, but was not", pr.wasTerminated);
+ }
+
+ @Bug(id="PR811")
+ @Test
+ @NeedsDisplay
+ public void SpacesCanBeEverywhereRemoteAppletTestsHtml2() throws Exception {
+ System.out.println("connecting spaces applet Tests.html request");
+ System.err.println("connecting spaces applet Tests.html request");
+ ServerAccess.ProcessResult pr = server.executeBrowser("/spaces+applet+Tests.html");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "xception";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertTrue("should be terminated, but was not", pr.wasTerminated);
+ }
+
+
@Bug(id={"PR811","http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016144.html"})
@Test
public void SpacesCanBeEverywhereRemoteTests1() throws Exception {
@@ -83,6 +160,39 @@ public class SpacesCanBeEverywhereTests {
@Bug(id="PR811")
@Test
+ public void SpacesCanBeEverywhereRemoteTests2_withQuery1() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp?test=10");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+
+ @Bug(id="PR811")
+ @Test
+ public void SpacesCanBeEverywhereRemoteTests2_withQuery2() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereRemoteTests2 request");
+ System.err.println("connecting SpacesCanBeEverywhereRemoteTests2 request");
+ ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp?test%3D10");
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR811")
+ @Test
public void SpacesCanBeEverywhereRemoteTests3() throws Exception {
System.out.println("connecting SpacesCanBeEverywhereRemoteTests3 request");
System.err.println("connecting SpacesCanBeEverywhereRemoteTests3 request");
@@ -140,6 +250,26 @@ public class SpacesCanBeEverywhereTests {
@Bug(id="PR804")
@Test
+ public void SpacesCanBeEverywhereLocalTests4() throws Exception {
+ System.out.println("connecting SpacesCanBeEverywhereLocalTests2 request");
+ System.err.println("connecting SpacesCanBeEverywhereLocalTests2 request");
+ List<String> commands=new ArrayList<String>(4);
+ commands.add(server.getJavawsLocation());
+ commands.add(ServerAccess.HEADLES_OPTION);
+ commands.add(server.getDir()+"/Spaces can be everywhere2.jnlp");
+ ServerAccess.ProcessResult pr = ServerAccess.executeProcess(commands);
+ System.out.println(pr.stdout);
+ System.err.println(pr.stderr);
+ String s="Spaces can be everywhere.jsr was launched correctly";
+ Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s));
+ String cc = "ClassNotFoundException";
+ Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc));
+ Assert.assertFalse("should not be terminated, but was", pr.wasTerminated);
+ Assert.assertEquals((Integer) 0, pr.returnValue);
+ }
+
+ @Bug(id="PR804")
+ @Test
public void SpacesCanBeEverywhereLocalTests3() throws Exception {
System.out.println("connecting SpacesCanBeEverywhereLocalTests3 request");
System.err.println("connecting SpacesCanBeEverywhereLocalTests3 request");
diff --git a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java
new file mode 100644
index 0000000..c253de1
--- /dev/null
+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java
@@ -0,0 +1,55 @@
+/* CacheUtilTest.java
+Copyright (C) 2012 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+ */
+package net.sourceforge.jnlp.cache;
+
+import java.net.URL;
+import org.junit.Assert;
+import org.junit.Test;
+
+/** Test various corner cases of the parser */
+public class CacheUtilTest {
+
+ @Test
+ public void testNormalizeUrlComparsions() throws Exception {
+ URL[] u = ResourceTrackerTest.getUrls();
+ URL[] n = ResourceTrackerTest.getNormalizedUrls();
+ for (int i = 0; i < u.length; i++) {
+ Assert.assertTrue("url " + i + " must CacheUtil.urlEquals to its normalized form " + i, CacheUtil.urlEquals(u[i], n[i]));
+ Assert.assertTrue("normalized form " + i + " must CacheUtil.urlEquals to its original " + i, CacheUtil.urlEquals(n[i], u[i]));
+ }
+ }
+}
diff --git a/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java b/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java
new file mode 100644
index 0000000..fb734f7
--- /dev/null
+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java
@@ -0,0 +1,98 @@
+/* ResourceTrackerTest.java
+Copyright (C) 2012 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+ */
+package net.sourceforge.jnlp.cache;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import org.junit.Assert;
+import org.junit.Test;
+
+/** Test various corner cases of the parser */
+public class ResourceTrackerTest {
+
+ @Test
+ public void testNormalizeUrl() throws Exception {
+ URL[] u = getUrls();
+
+ URL[] n = getNormalizedUrls();
+
+ Assert.assertNull("first url should be null", u[0]);
+ Assert.assertNull("first normalized url should be null", n[0]);
+ for (int i = 1; i < CHANGE_BORDER; i++) {
+ Assert.assertTrue("url " + i + " must be equals too normlaized url " + i, u[i].equals(n[i]));
+ }
+ for (int i = CHANGE_BORDER; i < n.length; i++) {
+ Assert.assertFalse("url " + i + " must be normalized (and so not equals) too normlaized url " + i, u[i].equals(n[i]));
+ }
+ }
+
+ private static URL normalizeUrl(URL uRL) throws MalformedURLException, UnsupportedEncodingException {
+ return ResourceTracker.normalizeUrl(uRL, false);
+ }
+ public static final int CHANGE_BORDER = 7;
+
+ public static URL[] getUrls() throws MalformedURLException {
+ URL[] u = {
+ /*constant*/
+ null,
+ new URL("http://localhost:44321/Spaces%20Can%20Be%20Everyw%2Fhere1.jnlp"),
+ new URL("file:///home/jvanek/Desktop/icedtea-web/tests.build/jnlp_test_server/Spaces%20can%20be%20everywhere2.jnlp"),
+ new URL("http://localhost/Spaces+Can+Be+Everywhere1.jnlp"),
+ new URL("http://localhost:44321/SpacesCanBeEverywhere1.jnlp"),
+ new URL("http:///SpacesCanBeEverywhere1.jnlp"),
+ new URL("file://localhost/home/jvanek/Desktop/icedtea-web/tests.build/jnlp_test_server/Spaces can be everywhere2.jnlp"),
+ /*changing*/
+ new URL("http://localhost/SpacesC anBeEverywhere1.jnlp?a=5&b=10#df"),
+ new URL("http:///oook.jnlp?a=5&b=ahoj šš dd#df"),
+ new URL("http://localhost/Spacesěčšžšřýžčřú can !@^*(){}[].jnlp?a=5&ahoj šš dd#df"),
+ new URL("http://localhost:44321/SpaŠcesCan Be Everywhere1.jnlp"),
+ new URL("http:/SpacesCanB eEverywhere1.jnlp")};
+ return u;
+ }
+
+ public static URL[] getNormalizedUrls() throws MalformedURLException, UnsupportedEncodingException {
+ URL[] u = getUrls();
+
+ URL[] n = new URL[u.length];
+ for (int i = 0; i < n.length; i++) {
+ n[i] = normalizeUrl(u[i]);
+ }
+ return n;
+
+ }
+}