1 9 package org.jboss.portal.test.portlet; 10 11 import java.util.Arrays ; 12 import java.util.HashSet ; 13 import java.util.Set ; 14 15 import org.jboss.portal.server.metadata.ContentTypeMetaData; 16 import org.jboss.portal.server.metadata.ContentTypesMetaData; 17 import org.jboss.portal.server.plugins.mode.ContentTypes; 18 import org.jboss.portal.server.plugins.mode.Mode; 19 import org.jboss.portal.test.AbstractTestCase; 20 21 25 public class ContentTypesTestCase extends AbstractTestCase 26 { 27 public ContentTypesTestCase(String name) 28 { 29 super(name); 30 } 31 32 public void testNormal() 33 { 34 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 35 36 ContentTypeMetaData textHTMLContentTypeMD = new ContentTypeMetaData(); 37 textHTMLContentTypeMD.setContentType("text/html"); 38 textHTMLContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{Mode.VIEW,Mode.EDIT}))); 39 contentTypesMD.addContentType(textHTMLContentTypeMD); 40 41 ContentTypeMetaData textXMLContentTypeMD = new ContentTypeMetaData(); 42 textXMLContentTypeMD.setContentType("text/xml"); 43 textXMLContentTypeMD.setModes(new HashSet (Arrays.asList(new Object [0]))); 44 contentTypesMD.addContentType(textXMLContentTypeMD); 45 46 ContentTypes contentTypes = new ContentTypes(); 47 contentTypes.setMetaData(contentTypesMD); 48 49 assertTrue(contentTypes.isSupported(Mode.EDIT, "text/html")); 50 assertFalse(contentTypes.isSupported(Mode.HELP, "text/html")); 51 52 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/xml")); 53 assertFalse(contentTypes.isSupported(Mode.EDIT, "text/xml")); 54 assertFalse(contentTypes.isSupported(Mode.HELP, "text/xml")); 55 56 assertFalse(contentTypes.isSupported(Mode.VIEW, "text/wml")); 57 } 58 59 public void testEmptyModes() 60 { 61 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 62 63 ContentTypeMetaData textHTMLContentTypeMD = new ContentTypeMetaData(); 64 textHTMLContentTypeMD.setContentType("text/html"); 65 textHTMLContentTypeMD.setModes(new HashSet ()); 66 contentTypesMD.addContentType(textHTMLContentTypeMD); 67 68 ContentTypes contentTypes = new ContentTypes(); 69 contentTypes.setMetaData(contentTypesMD); 70 71 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/html")); 72 } 73 74 public void testSupportedModes() 75 { 76 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 77 78 Mode dummy = new Mode("dummy"); 79 80 ContentTypeMetaData textHTMLContentTypeMD = new ContentTypeMetaData(); 81 textHTMLContentTypeMD.setContentType("text/html"); 82 textHTMLContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{dummy}))); 83 contentTypesMD.addContentType(textHTMLContentTypeMD); 84 85 ContentTypeMetaData textContentTypeMD = new ContentTypeMetaData(); 86 textContentTypeMD.setContentType("text/*"); 87 textContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{Mode.EDIT}))); 88 contentTypesMD.addContentType(textContentTypeMD); 89 90 ContentTypeMetaData wilcardContentTypeMD = new ContentTypeMetaData(); 91 wilcardContentTypeMD.setContentType("*"); 92 wilcardContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{Mode.HELP}))); 93 contentTypesMD.addContentType(wilcardContentTypeMD); 94 95 ContentTypes contentTypes = new ContentTypes(); 96 contentTypes.setMetaData(contentTypesMD); 97 Set textHTMLModes = contentTypes.getSupportedModes("text/html"); 98 assertEquals(new HashSet (Arrays.asList(new Object []{Mode.EDIT,Mode.HELP,Mode.VIEW,dummy})), textHTMLModes); 99 Set textXMLModes = contentTypes.getSupportedModes("text/xml"); 100 assertEquals(new HashSet (Arrays.asList(new Object []{Mode.EDIT,Mode.HELP,Mode.VIEW})), textXMLModes); 101 Set imageGifModes = contentTypes.getSupportedModes("image/gif"); 102 assertEquals(new HashSet (Arrays.asList(new Object []{Mode.HELP,Mode.VIEW})), imageGifModes); 103 } 104 105 public void testCase1() 106 { 107 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 108 109 ContentTypeMetaData textHTMLContentTypeMD = new ContentTypeMetaData(); 110 textHTMLContentTypeMD.setContentType("text/html"); 111 textHTMLContentTypeMD.setModes(new HashSet (Arrays.asList(new Object [0]))); 112 contentTypesMD.addContentType(textHTMLContentTypeMD); 113 114 ContentTypes contentTypes = new ContentTypes(); 115 contentTypes.setMetaData(contentTypesMD); 116 117 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/html")); 118 assertTrue(contentTypes.isSupported(Mode.VIEW, "TEXT/html")); 119 assertTrue(contentTypes.isSupported(Mode.VIEW, "TExt/html")); 120 assertTrue(contentTypes.isSupported(Mode.VIEW, "teXT/html")); 121 } 122 123 public void testCase2() 124 { 125 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 126 127 ContentTypeMetaData textHTMLContentTypeMD = new ContentTypeMetaData(); 128 textHTMLContentTypeMD.setContentType("text/*"); 129 textHTMLContentTypeMD.setModes(new HashSet (Arrays.asList(new Object [0]))); 130 contentTypesMD.addContentType(textHTMLContentTypeMD); 131 132 ContentTypes contentTypes = new ContentTypes(); 133 contentTypes.setMetaData(contentTypesMD); 134 135 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/html")); 136 assertTrue(contentTypes.isSupported(Mode.VIEW, "TEXT/html")); 137 assertTrue(contentTypes.isSupported(Mode.VIEW, "TExt/html")); 138 assertTrue(contentTypes.isSupported(Mode.VIEW, "teXT/html")); 139 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/xml")); 140 assertTrue(contentTypes.isSupported(Mode.VIEW, "TEXT/xml")); 141 assertTrue(contentTypes.isSupported(Mode.VIEW, "TExt/xml")); 142 assertTrue(contentTypes.isSupported(Mode.VIEW, "teXT/xml")); 143 } 144 145 public void testWildcard1() 146 { 147 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 148 ContentTypeMetaData wildcardContentTypeMD = new ContentTypeMetaData(); 149 wildcardContentTypeMD.setContentType("*/*"); 150 wildcardContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{Mode.EDIT}))); 151 contentTypesMD.addContentType(wildcardContentTypeMD); 152 153 ContentTypes contentTypes = new ContentTypes(); 154 contentTypes.setMetaData(contentTypesMD); 155 156 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/html")); 157 assertTrue(contentTypes.isSupported(Mode.EDIT, "text/html")); 158 } 159 160 public void testWildcard2() 161 { 162 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 163 ContentTypeMetaData wildcardContentTypeMD = new ContentTypeMetaData(); 164 wildcardContentTypeMD.setContentType("*"); 165 wildcardContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{Mode.EDIT}))); 166 contentTypesMD.addContentType(wildcardContentTypeMD); 167 168 ContentTypes contentTypes = new ContentTypes(); 169 contentTypes.setMetaData(contentTypesMD); 170 171 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/html")); 172 assertTrue(contentTypes.isSupported(Mode.EDIT, "text/html")); 173 } 174 175 public void testWildcard3() 176 { 177 ContentTypesMetaData contentTypesMD = new ContentTypesMetaData(); 178 ContentTypeMetaData wildcardContentTypeMD = new ContentTypeMetaData(); 179 wildcardContentTypeMD.setContentType("text/*"); 180 wildcardContentTypeMD.setModes(new HashSet (Arrays.asList(new Object []{Mode.EDIT}))); 181 contentTypesMD.addContentType(wildcardContentTypeMD); 182 183 ContentTypes contentTypes = new ContentTypes(); 184 contentTypes.setMetaData(contentTypesMD); 185 186 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/html")); 187 assertTrue(contentTypes.isSupported(Mode.EDIT, "text/html")); 188 assertTrue(contentTypes.isSupported(Mode.VIEW, "text/xml")); 189 assertTrue(contentTypes.isSupported(Mode.EDIT, "text/xml")); 190 } 191 } 192 | Popular Tags |