View Javadoc

1   package test.squeakysand.sling;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.assertNull;
5   
6   import com.squeakysand.sling.request.RequestPathInfoFactory;
7   
8   import org.apache.sling.api.request.RequestPathInfo;
9   import org.junit.After;
10  import org.junit.AfterClass;
11  import org.junit.Before;
12  import org.junit.BeforeClass;
13  import org.junit.Test;
14  
15  /**
16   * 
17   * @author <a href="http://craigsdickson.com">Craig S. Dickson</a>
18   */
19  public class RequestPathInfoFactoryTest {
20  
21      @BeforeClass
22      public static void setUpBeforeClass() throws Exception {
23      }
24  
25      @AfterClass
26      public static void tearDownAfterClass() throws Exception {
27      }
28  
29      @Before
30      public void setUp() throws Exception {
31      }
32  
33      @After
34      public void tearDown() throws Exception {
35      }
36  
37      @Test
38      public void testContentPathOnly() {
39          RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b");
40          assertEquals("/a/b", pathInfo.getResourcePath());
41          assertNull(pathInfo.getSelectorString());
42          assertEquals(0, pathInfo.getSelectors().length);
43          assertNull(pathInfo.getExtension());
44          assertNull(pathInfo.getSuffix());
45      }
46  
47      @Test
48      public void testContentPathPlusExtension() {
49          RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b.html");
50          assertEquals("/a/b", pathInfo.getResourcePath());
51          assertNull(pathInfo.getSelectorString());
52          assertEquals(0, pathInfo.getSelectors().length);
53          assertEquals("html", pathInfo.getExtension());
54          assertNull(pathInfo.getSuffix());
55      }
56  
57      @Test
58      public void testContentPathPlusExtensionPlusMultipleSelectors() {
59          RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b.s1.s2.html");
60          assertEquals("/a/b", pathInfo.getResourcePath());
61          assertEquals("s1.s2", pathInfo.getSelectorString());
62          assertEquals(2, pathInfo.getSelectors().length);
63          assertEquals("s1", pathInfo.getSelectors()[0]);
64          assertEquals("s2", pathInfo.getSelectors()[1]);
65          assertEquals("html", pathInfo.getExtension());
66          assertNull(pathInfo.getSuffix());
67      }
68  
69      @Test
70      public void testContentPathPlusExtensionPlusMultipleSelectorsPlusSuffix() {
71          RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b.s1.s2.html/c/d");
72          assertEquals("/a/b", pathInfo.getResourcePath());
73          assertEquals("s1.s2", pathInfo.getSelectorString());
74          assertEquals(2, pathInfo.getSelectors().length);
75          assertEquals("s1", pathInfo.getSelectors()[0]);
76          assertEquals("s2", pathInfo.getSelectors()[1]);
77          assertEquals("html", pathInfo.getExtension());
78          assertEquals("/c/d", pathInfo.getSuffix());
79      }
80  
81      @Test
82      public void testContentPathPlusExtensionPlusSelector() {
83          RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b.s1.html");
84          assertEquals("/a/b", pathInfo.getResourcePath());
85          assertEquals("s1", pathInfo.getSelectorString());
86          assertEquals(1, pathInfo.getSelectors().length);
87          assertEquals("s1", pathInfo.getSelectors()[0]);
88          assertEquals("html", pathInfo.getExtension());
89          assertNull(pathInfo.getSuffix());
90      }
91  
92      @Test
93      public void testContentPathPlusExtensionPlusSelectorPlusSuffix() {
94          RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b.s1.html/c/d");
95          assertEquals("/a/b", pathInfo.getResourcePath());
96          assertEquals("s1", pathInfo.getSelectorString());
97          assertEquals(1, pathInfo.getSelectors().length);
98          assertEquals("s1", pathInfo.getSelectors()[0]);
99          assertEquals("html", pathInfo.getExtension());
100         assertEquals("/c/d", pathInfo.getSuffix());
101     }
102 
103     @Test
104     public void testContentPathPlusExtensionPlusSuffix() {
105         RequestPathInfo pathInfo = RequestPathInfoFactory.create("/a/b.html/c/d");
106         assertEquals("/a/b", pathInfo.getResourcePath());
107         assertNull(pathInfo.getSelectorString());
108         assertEquals(0, pathInfo.getSelectors().length);
109         assertEquals("html", pathInfo.getExtension());
110         assertEquals("/c/d", pathInfo.getSuffix());
111     }
112 
113 }