KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > page > PageTest


1 /*
2 Copyright (c) 2003 eInnovation Inc. All rights reserved
3
4 This library is free software; you can redistribute it and/or modify it under the terms
5 of the GNU Lesser General Public License as published by the Free Software Foundation;
6 either version 2.1 of the License, or (at your option) any later version.
7
8 This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
9 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the GNU Lesser General Public License for more details.
11 */

12
13 package com.openedit.page;
14
15 import com.openedit.BaseTestCase;
16 import com.openedit.util.strainer.AndFilter;
17 import com.openedit.util.strainer.Filter;
18 import com.openedit.util.strainer.GroupFilter;
19 import com.openedit.util.strainer.NotFilter;
20 import com.openedit.util.strainer.OrFilter;
21 import com.openedit.util.strainer.PermissionFilter;
22 import com.openedit.util.strainer.UserFilter;
23
24
25 /**
26  * Test for {@link DynamicPage}
27  *
28  * @author Eric Galluzzo
29  */

30 public class PageTest extends BaseTestCase
31 {
32     public static final String JavaDoc PATH_WITH_FILTERS = "withfilters.html";
33
34     public PageTest(String JavaDoc inName)
35     {
36         super(inName);
37     }
38
39     /**
40      * DOCUMENT ME!
41      *
42      * @throws Exception
43      */

44     public void testLoadConfiguration_Filters() throws Exception JavaDoc
45     {
46         Page pageWithFilters = getPage(PATH_WITH_FILTERS);
47         checkFilter(pageWithFilters.getViewFilter());
48         checkFilter(pageWithFilters.getEditFilter());
49     }
50     
51     public void testIsBinary() throws Exception JavaDoc
52     {
53         Page indexPage = getPage( "index.html" );
54         Page jpgPage = getPage( "picture.jpg" );
55         assertFalse( indexPage.isBinary() );
56         System.out.println( jpgPage.getMimeType() );
57         assertTrue( jpgPage.isBinary() );
58     }
59
60     protected void checkFilter(Filter inFilter)
61     {
62         assertTrue("Outer filter should be an AndFilter", inFilter instanceof AndFilter);
63
64         AndFilter andFilter = (AndFilter) inFilter;
65         assertEquals("Number of AndFilter children", 3, andFilter.getFilters().length);
66
67         assertTrue(
68             "First AndFilter child should be a UserFilter",
69             andFilter.getFilters()[0] instanceof UserFilter);
70
71         UserFilter userFilter1 = (UserFilter) andFilter.getFilters()[0];
72         assertNull("AndFilter's UserFilter's username should be null", userFilter1.getUsername());
73
74         assertTrue(
75             "Second AndFilter child should be an OrFilter",
76             andFilter.getFilters()[1] instanceof OrFilter);
77
78         OrFilter orFilter = (OrFilter) andFilter.getFilters()[1];
79         assertEquals("Number of OrFilter children", 2, orFilter.getFilters().length);
80
81         assertTrue(
82             "First OrFilter child should be a GroupFilter",
83             orFilter.getFilters()[0] instanceof GroupFilter);
84
85         GroupFilter groupFilter = (GroupFilter) orFilter.getFilters()[0];
86         assertEquals("foo", groupFilter.getGroupName());
87
88         assertTrue(
89             "Second OrFilter child should be a PermissionFilter",
90             orFilter.getFilters()[1] instanceof PermissionFilter);
91
92         PermissionFilter permissionFilter = (PermissionFilter) orFilter.getFilters()[1];
93         assertEquals("bar", permissionFilter.getPermission());
94
95         assertTrue(
96             "Third AndFilter child should be a NotFilter",
97             andFilter.getFilters()[2] instanceof NotFilter);
98
99         NotFilter notFilter = (NotFilter) andFilter.getFilters()[2];
100         assertTrue(
101             "NotFilter's child should be a UserFilter", notFilter.getFilter() instanceof UserFilter);
102
103         UserFilter userFilter2 = (UserFilter) notFilter.getFilter();
104         assertEquals("NotFilter's UserFilter's username", "baz", userFilter2.getUsername());
105     }
106
107     public void testNoLayout() throws Exception JavaDoc
108     {
109         Page page = getPage( "layout_tests/no_layout.html" );
110         assertTrue( page.exists() );
111         assertFalse( page.hasLayout() );
112     }
113
114     public void testRelativeLayout() throws Exception JavaDoc
115     {
116         Page page = getPage( "layout_tests/relative_layout.html" );
117         assertTrue( page.exists() );
118         
119         Page layoutPage = getPage(page.getLayout());
120         assertTrue( layoutPage.exists() );
121         assertEquals( "/layout_tests/layout2.html", layoutPage.getPath() );
122     }
123
124     public void testNullLayout() throws Exception JavaDoc
125     {
126         Page page = getPage( "layout_tests/null_layout.html" );
127         assertTrue( page.exists() );
128         Page layoutPage = getPage(page.getLayout());
129         assertTrue( !layoutPage.exists() );
130     }
131
132     public void testNestedLayout() throws Exception JavaDoc
133     {
134         Page page = getPage( "layout_tests/nested_layout.html" );
135         assertTrue( page.exists() );
136         Page layoutPage = getPage(page.getLayout());
137         assertTrue( layoutPage.exists() );
138         assertEquals( "/layout_tests/layout3.html", layoutPage.getPath() );
139     }
140     public void testConfigList() throws Exception JavaDoc
141     {
142         Page page = getPage( "/fallbackme/index.html" );
143         PageSettings back = page.getPageSettings().getParent();
144         assertNotNull(back);
145         assertTrue(back.getPath().endsWith("/fallbackme/_default.xconf"));
146         back = (PageSettings)back.getParent();
147         assertTrue(back.getPath().endsWith("/fallbackme/_site.xconf"));
148         back = (PageSettings)back.getParent();
149         assertTrue(back.getPath().endsWith("/_site.xconf"));
150         
151         PageSettings fback = page.getPageSettings().getFallback();
152         assertNotNull(fback);
153         assertTrue(fback.getPath().endsWith("/fallbackfiles/index.xconf"));
154         fback = fback.getParent();
155         assertTrue(fback.getPath().endsWith("/fallbackfiles/_default.xconf"));
156         fback = fback.getParent();
157         assertTrue(fback.getPath().endsWith("/fallbackfiles/_site.xconf"));
158         fback = fback.getParent();
159         assertTrue(fback.getPath().endsWith("/_site.xconf"));
160
161         
162     }
163 }
164
Popular Tags