[ 
https://issues.apache.org/jira/browse/WICKET-5851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14358254#comment-14358254
 ] 

ASF GitHub Bot commented on WICKET-5851:
----------------------------------------

Github user martin-g commented on a diff in the pull request:

    https://github.com/apache/wicket/pull/107#discussion_r26284011
  
    --- Diff: 
wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
 ---
    @@ -85,7 +85,8 @@ protected boolean acceptAbsolutePath(String path)
                int len = path.length();
                final String ext;
                if (ixExtension <= 0 || ixExtension == len ||
    -                   (path.lastIndexOf(File.separator) + 1) == ixExtension)
    --- End diff --
    
    What is wrong here with `File.separator` ?


> PackageResourceTest#packageResourceGuard test fails under Windows
> -----------------------------------------------------------------
>
>                 Key: WICKET-5851
>                 URL: https://issues.apache.org/jira/browse/WICKET-5851
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.19.0
>         Environment: Windows 8.1 Pro, Oracle JDK 7u72 x64
>            Reporter: Alexander Morozov
>
> I'm emphasized assert statement which causes the issue
> {code:java}
>       @Test
>       public void packageResourceGuard() throws Exception
>       {
>               PackageResourceGuard guard = new PackageResourceGuard();
>               assertTrue(guard.acceptExtension("txt"));
>               assertFalse(guard.acceptExtension("java"));
>               assertTrue(guard.acceptAbsolutePath("foo/Bar.txt"));
>               assertFalse(guard.acceptAbsolutePath("foo/Bar.java"));
>               assertTrue(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> "Bar.txt")));
>               assertTrue(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> "Bar.txt.")));
>               assertTrue(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> ".Bar.txt")));
>               assertTrue(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> ".Bar.txt.")));
>               assertTrue(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> ".Bar")));
> >>>>  assertTrue(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> ".java")));
>               assertFalse(guard.accept(PackageResourceTest.class,
>                       Packages.absolutePath(PackageResourceTest.class, 
> "Bar.java")));
>       }
> {code}
> There is another issue in PackageResourceGuardTest 
> {code:java}
>       @Test
>       public void acceptAbsolutePath()
>       {
>               PackageResourceGuard guard = new PackageResourceGuard();
>               guard.setAllowAccessToRootResources(false);
>               assertTrue(guard.acceptAbsolutePath("/test/test.js"));
>               assertFalse(guard.acceptAbsolutePath("/test.js"));
> >>> File.pathSeparator must be replaced with File.separator
> >>>           if ("\\".equals(File.pathSeparator))
>               {
>                       
> assertTrue(guard.acceptAbsolutePath("c:\\test\\org\\apache\\test.js"));
>                       
> assertTrue(guard.acceptAbsolutePath("\\test\\org\\apache\\test.js"));
>                       assertFalse(guard.acceptAbsolutePath("c:\\test.js"));
>                       assertFalse(guard.acceptAbsolutePath("\\test.js"));
>                       // java also generates file paths with '/' on windows
>                       
> assertTrue(guard.acceptAbsolutePath("c:/test/org/apache/test.js"));
>                       
> assertTrue(guard.acceptAbsolutePath("/test/org/apache/test.js"));
>                       assertFalse(guard.acceptAbsolutePath("c:/test.js"));
>                       assertFalse(guard.acceptAbsolutePath("/test.js"));
>               }
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to