/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core; import java.util.HashMap; import java.util.Map; import org.junit.Before; import org.junit.Test; import junit.framework.TestCase; /** * Created by IntelliJ IDEA. * User: rmh * Date: Feb 12, 2010 * Time: 12:10:48 PM */ public class PathAndParamsToStringBuilderTest extends TestCase { RequestParameters defaultParameters; String defaultEncoding = "UTF-8"; @Before public void setUp() { Map<String, String[]> parameters = new HashMap<String, String[]>(); parameters.put( "p1", new String[]{"v1"} ); parameters.put( "p2", new String[]{"v2"} ); parameters.put( "p3", new String[]{"v3"} ); defaultParameters = new RequestParameters( parameters ); } @Test public void testEncodePath() { Path encodablePath = new Path( "/denne/m�/encodes?Ja&nei�serru�" ); PathAndParams pathAndParam = new PathAndParams( encodablePath, defaultParameters ); PathAndParamsToStringBuilder builder = new PathAndParamsToStringBuilder(); builder.setEncoding( defaultEncoding ); builder.setIncludeParamsInPath( true ); builder.setUrlEncodePath( true ); builder.setIncludeFragment( true ); builder.setHtmlEscapeParameterAmps( false ); assertEquals( encodablePath.getAsUrlEncoded( false, defaultEncoding ) + "?p1=v1&p2=v2&p3=v3", builder.toString( pathAndParam ) ); } @Test public void testNoParameters() { Path encodablePath = new Path( "/test/path" ); PathAndParams pathAndParam = new PathAndParams( encodablePath, new RequestParameters() ); PathAndParamsToStringBuilder builder = new PathAndParamsToStringBuilder(); builder.setEncoding( defaultEncoding ); builder.setIncludeParamsInPath( true ); builder.setUrlEncodePath( true ); builder.setIncludeFragment( true ); builder.setHtmlEscapeParameterAmps( false ); assertEquals( "/test/path", builder.toString( pathAndParam ) ); } @Test public void testWithFragment() { Path encodablePath = new Path( "/test/path#fragment" ); PathAndParams pathAndParam = new PathAndParams( encodablePath, defaultParameters ); PathAndParamsToStringBuilder builder = new PathAndParamsToStringBuilder(); builder.setEncoding( defaultEncoding ); builder.setIncludeParamsInPath( true ); builder.setUrlEncodePath( true ); builder.setIncludeFragment( true ); builder.setHtmlEscapeParameterAmps( false ); assertEquals( "/test/path?p1=v1&p2=v2&p3=v3#fragment", builder.toString( pathAndParam ) ); } }