📄 portlethreftest.java
字号:
href.addParameter(PortletHref.PARAM_TYPE, PortletHref.TYPE_ACTION);
href.addParameter("SINGLE_PARAM", "VAL1");
href.addParameter("INT_PARAM", 31337);
assertTrue(href.isRequestedSecure());
assertEquals(new PortletMode("help"), href.getRequestedMode());
assertEquals(new WindowState("maximized"), href.getRequestedState());
assertTrue(href.isAction());
final Map actualParams = href.getParameterMap();
assertEquals(2, actualParams.size());
assertEquals(actualParams.get("SINGLE_PARAM"), "VAL1");
assertEquals(actualParams.get("INT_PARAM"), "31337");
}
public void testAddParameterMap()
{
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final Map params = new HashMap();
params.put(PortletHref.PARAM_MODE, "help");
params.put(PortletHref.PARAM_STATE, "maximized");
params.put(PortletHref.PARAM_SECURE, "true");
params.put(PortletHref.PARAM_TYPE, PortletHref.TYPE_ACTION);
params.put("SINGLE_PARAM", "VAL1");
final String[] multiParam = new String[]{"VAL2", "VAL3"};
params.put("MULTI_PARAM", multiParam);
params.put("INT_PARAM", new Integer("31337"));
href.addParameterMap(params);
assertTrue(href.isRequestedSecure());
assertEquals(new PortletMode("help"), href.getRequestedMode());
assertEquals(new WindowState("maximized"), href.getRequestedState());
assertTrue(href.isAction());
final Map actualParams = href.getParameterMap();
assertEquals(3, actualParams.size());
assertEquals(actualParams.get("SINGLE_PARAM"), "VAL1");
assertEquals(actualParams.get("INT_PARAM"), "31337");
final String[] actualMultiParam = (String[]) actualParams.get("MULTI_PARAM");
assertEquals(multiParam.length, actualMultiParam.length);
assertEquals(multiParam[0], actualMultiParam[0]);
assertEquals(multiParam[1], actualMultiParam[1]);
}
public void testSetParameterMap()
{
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
href.addParameter("ORIGINAL_PARAM", "ORIGNAL_VALUE");
final Map params = new HashMap();
params.put(PortletHref.PARAM_MODE, "help");
params.put(PortletHref.PARAM_STATE, "maximized");
params.put(PortletHref.PARAM_SECURE, "true");
params.put(PortletHref.PARAM_TYPE, PortletHref.TYPE_ACTION);
params.put("SINGLE_PARAM", "VAL1");
final String[] multiParam = new String[]{"VAL2", "VAL3"};
params.put("MULTI_PARAM", multiParam);
params.put("INT_PARAM", new Integer("31337"));
href.setParameterMap(params);
assertTrue(href.isRequestedSecure());
assertEquals(new PortletMode("help"), href.getRequestedMode());
assertEquals(new WindowState("maximized"), href.getRequestedState());
assertTrue(href.isAction());
final Map actualParams = href.getParameterMap();
assertEquals(3, actualParams.size());
assertEquals(actualParams.get("SINGLE_PARAM"), "VAL1");
assertEquals(actualParams.get("INT_PARAM"), "31337");
assertNull(actualParams.get("ORIGINAL_PARAM"));
final String[] actualMultiParam = (String[]) actualParams.get("MULTI_PARAM");
assertEquals(multiParam.length, actualMultiParam.length);
assertEquals(multiParam[0], actualMultiParam[0]);
assertEquals(multiParam[1], actualMultiParam[1]);
}
public void testRemoveParameter()
{
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
href.addParameter("SINGLE_PARAM", "VAL1");
final Map actualParams = href.getParameterMap();
assertEquals(1, actualParams.size());
assertEquals(actualParams.get("SINGLE_PARAM"), "VAL1");
href.removeParameter("SINGLE_PARAM");
final Map actualParams2 = href.getParameterMap();
assertEquals(0, actualParams2.size());
assertNull(actualParams2.get("SINGLE_PARAM"));
}
public void testClone()
{
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
href.addParameter(PortletHref.PARAM_MODE, "help");
href.addParameter(PortletHref.PARAM_STATE, "maximized");
href.addParameter(PortletHref.PARAM_SECURE, "true");
href.addParameter(PortletHref.PARAM_TYPE, PortletHref.TYPE_ACTION);
href.addParameter("SINGLE_PARAM", "VAL1");
href.addParameter("INT_PARAM", 31337);
assertTrue(href.isRequestedSecure());
assertEquals(new PortletMode("help"), href.getRequestedMode());
assertEquals(new WindowState("maximized"), href.getRequestedState());
assertTrue(href.isAction());
final Map actualParams = href.getParameterMap();
assertEquals(2, actualParams.size());
assertEquals(actualParams.get("SINGLE_PARAM"), "VAL1");
assertEquals(actualParams.get("INT_PARAM"), "31337");
final PortletHref href2 = (PortletHref) href.clone();
assertTrue(href != href2);
assertEquals(href, href2);
assertEquals(href.hashCode(), href2.hashCode());
}
public void testBaseUrl()
{
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
href.addParameter(PortletHref.PARAM_MODE, "help");
href.addParameter(PortletHref.PARAM_STATE, "maximized");
href.addParameter(PortletHref.PARAM_SECURE, "true");
href.addParameter("SINGLE_PARAM", "VAL1");
final String baseRenderUrl = href.getBaseUrl();
assertEquals("http://localhost/mockportlet?urlType=render", baseRenderUrl);
href.addParameter(PortletHref.PARAM_TYPE, PortletHref.TYPE_ACTION);
final String baseActionUrl = href.getBaseUrl();
assertEquals("http://localhost/mockportlet?urlType=action", baseActionUrl);
}
public void testFullUrl()
{
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final String urlString1 = href.toString();
assertEquals("http://localhost/mockportlet?urlType=render", urlString1);
href.addParameter(PortletHref.PARAM_TYPE, PortletHref.TYPE_ACTION);
final String urlString2 = href.toString();
assertEquals("http://localhost/mockportlet?urlType=action", urlString2);
href.addParameter(PortletHref.PARAM_SECURE, Boolean.TRUE.toString());
final String urlString3 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action", urlString3);
// This code should work but the MockPortletURL provided by spring doesn't follow the
// interface docs on invalid modes/states
// href.setRequestedState(new WindowState("exclusive"));
// try {
// href.toString();
// fail("IllegalStateException should have been thrown.");
// }
// catch (IllegalStateException ise) {
// //expected
// }
href.addParameter(PortletHref.PARAM_STATE, "normal");
final String urlString7 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action;windowState=normal", urlString7);
href.addParameter(PortletHref.PARAM_STATE, "minimized");
final String urlString8 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action;windowState=minimized", urlString8);
href.addParameter(PortletHref.PARAM_STATE, "maximized");
final String urlString9 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action;windowState=maximized", urlString9);
// This code should work but the MockPortletURL provided by spring doesn't follow the
// interface docs on invalid modes/states
// href.setRequestedMode(new PortletMode("info"));
// try {
// href.toString();
// fail("IllegalStateException should have been thrown.");
// }
// catch (IllegalStateException ise) {
// //expected
// }
href.addParameter(PortletHref.PARAM_MODE, "view");
final String urlString4 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action;windowState=maximized;portletMode=view", urlString4);
href.addParameter(PortletHref.PARAM_MODE, "help");
final String urlString5 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action;windowState=maximized;portletMode=help", urlString5);
href.addParameter(PortletHref.PARAM_MODE, "edit");
final String urlString6 = href.toString();
assertEquals("https://localhost/mockportlet?urlType=action;windowState=maximized;portletMode=edit", urlString6);
href.addParameter("SINGLE_PARAM", "VAL");
final String urlString10 = href.toString();
assertEquals(
"https://localhost/mockportlet?urlType=action;windowState=maximized;portletMode=edit;param_SINGLE_PARAM=VAL",
urlString10);
final Map paramMap = new HashMap();
paramMap.put("MULTI_PARAM", new String[]{"VAL1", "VAL2"});
href.addParameterMap(paramMap);
final String urlString11 = href.toString();
assertEquals(
"https://localhost/mockportlet?urlType=action;windowState=maximized;portletMode=edit;param_SINGLE_PARAM=VAL;param_MULTI_PARAM=VAL1;param_MULTI_PARAM=VAL2",
urlString11);
href.setAnchor("ANCHOR");
final String urlString12 = href.toString();
assertEquals(
"https://localhost/mockportlet?urlType=action;windowState=maximized;portletMode=edit;param_SINGLE_PARAM=VAL;param_MULTI_PARAM=VAL1;param_MULTI_PARAM=VAL2#ANCHOR",
urlString12);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -