1 9 package org.jboss.portal.test.portlet; 10 11 import java.util.Arrays ; 12 import java.util.Map ; 13 14 import javax.portlet.PortletPreferences; 15 import javax.portlet.ReadOnlyException; 16 17 import junit.framework.TestCase; 18 19 import org.jboss.portal.common.value.StringValues; 20 import org.jboss.portal.portlet.impl.PortletPreferencesImpl; 21 import org.jboss.portal.server.plugins.preferences.AbstractPreferenceSet; 22 import org.jboss.portal.server.plugins.preferences.PreferenceSet; 23 24 30 public class PortletPreferencesTestCase extends TestCase 31 { 32 33 public PortletPreferencesTestCase(String key) 34 { 35 super(key); 36 } 37 38 private PortletPreferences prefs; 39 40 protected void setUp() throws Exception 41 { 42 PreferenceSet userPreferences = new AbstractPreferenceSet();; 43 PreferenceSet systemPreferences = new AbstractPreferenceSet();; 44 45 fillSystemPrefs(systemPreferences); 46 fillUserPrefs(userPreferences); 47 48 prefs = new PortletPreferencesImpl(systemPreferences, userPreferences, null, PortletPreferencesImpl.ACTION); 49 } 50 51 private void fillSystemPrefs(PreferenceSet prefs) throws Exception 52 { 53 prefs.setValue("name-1", new StringValues("value-1")); 54 prefs.setValue("name-2", new StringValues(new String []{"value-2-1","value-2-2"})); 55 prefs.setValue("name-3", new StringValues("value-3")); 56 prefs.setValue("name-4", new StringValues("value-4")); 57 prefs.setReadOnly("name-4", true); 58 } 59 60 private void fillUserPrefs(PreferenceSet prefs) throws Exception 61 { 62 prefs.setValue("name-3", new StringValues("user-value-3")); 63 prefs.setValue("name-4", new StringValues("user-value-4")); 64 prefs.setValue("name-5", new StringValues("user-value-5")); 65 } 66 67 protected void tearDown() throws Exception 68 { 69 prefs = null; 70 } 71 72 public void testNullKeyThrowsIllegalArgumentException() throws Exception 73 { 74 try 75 { 76 prefs.isReadOnly(null); 77 fail("IllegalArgumentException expected"); 78 } 79 catch (IllegalArgumentException expected) 80 { 81 } 82 try 83 { 84 prefs.getValue(null, ""); 85 fail("IllegalArgumentException expected"); 86 } 87 catch (IllegalArgumentException expected) 88 { 89 } 90 try 91 { 92 prefs.setValue(null, ""); 93 fail("IllegalArgumentException expected"); 94 } 95 catch (IllegalArgumentException expected) 96 { 97 } 98 try 99 { 100 prefs.setValues(null, new String [0]); 101 fail("IllegalArgumentException expected"); 102 } 103 catch (IllegalArgumentException expected) 104 { 105 } 106 try 107 { 108 prefs.reset(null); 109 fail("IllegalArgumentException expected"); 110 } 111 catch (IllegalArgumentException expected) 112 { 113 } 114 } 115 116 public void testRead() 117 { 118 assertEquals("value-1", prefs.getValue("name-1", null)); 119 assertEquals("value-2-1", prefs.getValue("name-2", null)); 120 assertTrue(Arrays.equals(new String []{"value-2-1","value-2-2"}, prefs.getValues("name-2", null))); 121 assertEquals("user-value-3", prefs.getValue("name-3", null)); 122 assertEquals("value-4", prefs.getValue("name-4", null)); 123 assertEquals("user-value-5", prefs.getValue("name-5", null)); 124 } 125 126 public void testWrite() throws Exception 127 { 128 try 129 { 130 prefs.setValue("name-4", "user-value-4"); 131 fail("Expected ReadOnlyException"); 132 } 133 catch (ReadOnlyException expected) 134 { 135 } 136 } 137 138 public void testNullWrite() throws Exception 139 { 140 prefs.setValue("name-3", null); 141 assertEquals("value-3", prefs.getValue("name-3", "tmp")); 142 assertTrue(Arrays.equals(new String []{"value-3"}, prefs.getValues("name-3", new String []{"tmp"}))); 143 prefs.setValues("name-3", null); 144 assertEquals("value-3", prefs.getValue("name-3", "tmp")); 145 assertTrue(Arrays.equals(new String []{"value-3"}, prefs.getValues("name-3", new String []{"tmp"}))); 146 prefs.setValues("name-5", null); 147 assertEquals("tmp", prefs.getValue("name-5", "tmp")); 148 assertTrue(Arrays.equals(new String []{"tmp"}, prefs.getValues("name-5", new String []{"tmp"}))); 149 } 150 151 public void testIsReadOnly() 152 { 153 assertFalse(prefs.isReadOnly("name-1")); 154 assertFalse(prefs.isReadOnly("name-2")); 155 assertFalse(prefs.isReadOnly("name-3")); 156 assertTrue(prefs.isReadOnly("name-4")); 157 } 158 159 public void testMap() 160 { 161 Map map = prefs.getMap(); 162 assertTrue(Arrays.equals(new String []{"value-1"}, (String [])map.get("name-1"))); 163 assertTrue(Arrays.equals(new String []{"value-2-1","value-2-2"}, (String [])map.get("name-2"))); 164 assertTrue(Arrays.equals(new String []{"user-value-3"}, (String [])map.get("name-3"))); 165 assertTrue(Arrays.equals(new String []{"value-4"}, (String [])map.get("name-4"))); 166 assertTrue(Arrays.equals(new String []{"user-value-5"}, (String [])map.get("name-5"))); 167 assertTrue(map.containsValue(new String []{"value-1"})); 168 assertTrue(map.containsValue(new String []{"value-2-1","value-2-2"})); 169 assertTrue(map.containsValue(new String []{"user-value-3"})); 170 assertTrue(map.containsValue(new String []{"value-4"})); 171 assertTrue(map.containsValue(new String []{"user-value-5"})); 172 } 173 } 174 | Popular Tags |