View Javadoc
1   package com.atlassian.plugin.util.zip;
2   
3   import org.junit.Test;
4   
5   import static com.atlassian.plugin.util.zip.AbstractUnzipper.normaliseAndVerify;
6   import static org.junit.Assert.assertEquals;
7   
8   public class AbstractUnzipperTest {
9       @Test
10      public void testNormaliseAndVerifySimple() {
11          assertEquals("simple", normaliseAndVerify("simple"));
12      }
13  
14      @Test
15      public void testNormaliseAndVerifySubdir() {
16          assertEquals("subdir/file", normaliseAndVerify("subdir/file"));
17      }
18  
19      @Test
20      public void testNormaliseAndVerifyRelativeSimple() {
21          assertEquals("test-relative.txt", normaliseAndVerify("something/../test-relative.txt"));
22      }
23  
24      @Test
25      public void testNormaliseAndVerifyRelativeComplex() {
26          assertEquals("test-relative.txt", normaliseAndVerify("./something/.././test-relative.txt"));
27      }
28  
29      @Test(expected = IllegalArgumentException.class)
30      public void testNormaliseAndVerifyIllegalRelative() {
31          normaliseAndVerify("something/../../test-relative.txt");
32      }
33  
34      @Test(expected = IllegalArgumentException.class)
35      public void testNormaliseAndVerifyIllegalRelativeTrailingDots() {
36          normaliseAndVerify("something/../test-relative.txt/..");
37      }
38  
39      @Test(expected = IllegalArgumentException.class)
40      public void testNormaliseAndVerifyIllegalRelativeLeadingSlash() {
41          normaliseAndVerify("/something/../../test-relative.txt");
42      }
43  
44      @Test(expected = IllegalArgumentException.class)
45      public void testNormaliseAndVerifyIllegalRelativeLeadingDots() {
46          normaliseAndVerify("../test-relative.txt");
47      }
48  
49      @Test(expected = IllegalArgumentException.class)
50      public void testNormaliseAndVerifyIllegalRelativeLeadingSeriesOfDots() {
51          normaliseAndVerify("./../test-relative.txt");
52      }
53  }