summaryrefslogtreecommitdiffstats
path: root/src/junit/com/jogamp/common/net/TestURIQueryProps.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-10-18 22:09:43 +0200
committerSven Gothel <[email protected]>2013-10-18 22:09:43 +0200
commitc9093e491d4b78b12973ec1614bf3146fce26a83 (patch)
treeaf084b8ab527a574a35ca390ac9d089595382d43 /src/junit/com/jogamp/common/net/TestURIQueryProps.java
parenta2a71139e6d8dc1527cd45df5c710b1ad1f2f611 (diff)
Fix Bug 857: GlueGen produces erroneous file URI on Windows, which breaks Netbeans's JarURLStreamHandler
- 'URL IOUtil.toURL(URI)' - Needs to encode the file-path portion on Windows(*) if exists. The file-path here shall only be encoded as follows: - backslash -> slash - ensure starting with slash (*) We perform above action for all OS, if 'false == File.separator.equals("/")' - Added high verbosity in DEBUG mode to easy debugging for future cases .. - Cleanup URI/URL unit tests, i.e. split URLCompositionTest into: - TestIOUtilURICompose - TestIOUtilURIHandling (Now covers Bug 857 as well) - TestUrisWithAssetHandler - TestURIQueryProps Tested all unit tests manually on GNU/Linux and Windows w/ JRE 7u45
Diffstat (limited to 'src/junit/com/jogamp/common/net/TestURIQueryProps.java')
-rw-r--r--src/junit/com/jogamp/common/net/TestURIQueryProps.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/junit/com/jogamp/common/net/TestURIQueryProps.java b/src/junit/com/jogamp/common/net/TestURIQueryProps.java
new file mode 100644
index 0000000..09cef61
--- /dev/null
+++ b/src/junit/com/jogamp/common/net/TestURIQueryProps.java
@@ -0,0 +1,50 @@
+package com.jogamp.common.net;
+
+import static com.jogamp.common.net.URIDumpUtil.showURI;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.jogamp.junit.util.JunitTracer;
+
+import org.junit.FixMethodOrder;
+import org.junit.runners.MethodSorters;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestURIQueryProps extends JunitTracer {
+
+ @Test
+ public void test() throws IOException, URISyntaxException {
+ final String SCHEME = "camera";
+ final String HOST = "somewhere";
+ final String PATH = "0";
+ String[] args = new String[] {
+ SCHEME+"://"+HOST+"/"+PATH,
+ SCHEME+"://"+HOST+"/"+PATH+"?p1=1",
+ };
+ for(int i=0; i<args.length-1; i+=2) {
+ String uri_s0 = args[i];
+ String uri_s1 = args[i+1];
+ URI uri0 = new URI(uri_s0);
+ URI uri1 = new URI(uri_s1);
+ showURI(uri0);
+ showURI(uri1);
+ URIQueryProps data = URIQueryProps.create(uri1, ';');
+ if(null == data) {
+ System.err.println("Error: NULL: <"+uri_s1+"> -> "+uri1+" -> NULL");
+ } else {
+ URI uri1T = data.appendQuery(uri0);
+ showURI(uri1T);
+ Assert.assertEquals(uri1, uri1T);
+ }
+ }
+ }
+ public static void main(String args[]) throws IOException {
+ String tstname = TestURIQueryProps.class.getName();
+ org.junit.runner.JUnitCore.main(tstname);
+ }
+}