/** * Copyright 2005-2016 hdiv.org * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.hdiv.urlProcessor; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import javax.servlet.http.HttpServletRequest; import org.hdiv.AbstractHDIVTestCase; import org.hdiv.util.Constants; public class BasicUrlProcessorTest extends AbstractHDIVTestCase { private BasicUrlProcessor urlProcessor; @Override protected void onSetUp() throws Exception { urlProcessor = getApplicationContext().getBean(BasicUrlProcessor.class); } public void testProcessAction() { HttpServletRequest request = getMockRequest(); String url = "/testAction.do?par1=val1&par2=val2"; BasicUrlData result = urlProcessor.processUrl(request, url); assertEquals(result.getContextPathRelativeUrl(), "/testAction.do"); assertEquals(2, result.getUrlParams().size()); assertEquals("val1", result.getUrlParams().get("par1")[0]); assertEquals("val2", result.getUrlParams().get("par2")[0]); } public void testOnlyParams() { HttpServletRequest request = getMockRequest(); String url = "?par1=val1&par2=val2"; BasicUrlData result = urlProcessor.processUrl(request, url); assertEquals(result.getContextPathRelativeUrl(), ""); assertEquals(2, result.getUrlParams().size()); assertEquals("val1", result.getUrlParams().get("par1")[0]); assertEquals("val2", result.getUrlParams().get("par2")[0]); } public void testParamValues() throws UnsupportedEncodingException { String par1 = URLEncoder.encode("1111", Constants.ENCODING_UTF_8); String par2 = URLEncoder.encode("You & Me", Constants.ENCODING_UTF_8); HttpServletRequest request = getMockRequest(); String url = "?par1=" + par1 + "&par2=" + par2; BasicUrlData result = urlProcessor.processUrl(request, url); assertEquals(result.getContextPathRelativeUrl(), ""); assertEquals(2, result.getUrlParams().size()); assertEquals("1111", result.getUrlParams().get("par1")[0]); assertEquals("You & Me", result.getUrlParams().get("par2")[0]); } }