1 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 30 public class PageTest extends BaseTestCase 31 { 32 public static final String PATH_WITH_FILTERS = "withfilters.html"; 33 34 public PageTest(String inName) 35 { 36 super(inName); 37 } 38 39 44 public void testLoadConfiguration_Filters() throws Exception 45 { 46 Page pageWithFilters = getPage(PATH_WITH_FILTERS); 47 checkFilter(pageWithFilters.getViewFilter()); 48 checkFilter(pageWithFilters.getEditFilter()); 49 } 50 51 public void testIsBinary() throws Exception 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 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 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 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 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 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 |