harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Beyer (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6059) [classlib][luni] jar URL is created with wrong protocol for URLStreamHandler
Date Sun, 18 Jan 2009 09:40:59 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664938#action_12664938
] 

Nathan Beyer commented on HARMONY-6059:
---------------------------------------

I've reworked the test a little bit and I think it's more reliable and clean. Here's what
the new test method would look like. It works on Windows and I'll test it on Linux a bit later.
Let me know what you guys think.

    public void test_Constructor$Ljava_net_URLLjava_lang_ClassLoaderLjava_net_URLStreamHandlerFactory()
throws Exception {
        class TestFactory implements URLStreamHandlerFactory {
            public URLStreamHandler createURLStreamHandler(String protocol) {
                if ("jar".equals(protocol)) {
                    return new Handler();
                }

                fail("Should be jar Handler. But " + protocol);
                return null;
            }

        }

        final String base = getClass().getClassLoader().getResource(
                "../" + getClass().getPackage().getName().replace('.', '/')).toExternalForm();

        final URL[] urls = { new URL(base + "/lf.jar") };
        final URLClassLoader ucl = new URLClassLoader(urls, null, new TestFactory());

        final URL res = ucl.findResource("swt.dll");
        assertNotNull(res);

        final URI e = new URI("jar:" + base + "/lf.jar!/swt.dll");
        final URI a = res.toURI();
        assertEquals(e, a);
    }

> [classlib][luni] jar URL is created with wrong protocol for URLStreamHandler
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-6059
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6059
>             Project: Harmony
>          Issue Type: Bug
>         Environment: vm which is above java6 is required
>            Reporter: Li Jing Qin
>            Priority: Minor
>             Fix For: 5.0M9
>
>         Attachments: HARMONY-6059.diff, HARMONY-6059v2.diff, lf.jar
>
>
> From the spec: "Any URL that ends with a '/' is assumed to refer to a directory. Otherwise,
the URL is assumed to refer to a JAR file which will be downloaded and opened as needed".
> So what I have done follows:
> 1. specified the URLStreamHandler to the jar, not the protocol as before
> 2. Add the test case to the test-impl
> 3. Because the I have add the a class file to the lf.jar, the size of jar file is increased.
So the test size case int the JarURLConnectionTest fail. I have changed the test case.
> 4. The reason that the vm above java6 is required is because the class file I have added
to the lf.jar is compiled under the java 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message