    1   /*
    2    * Copyright 2004-2009 the Seasar Foundation and the Others.
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *     http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    13   * either express or implied. See the License for the specific language
    14   * governing permissions and limitations under the License.
    15   */
    16  package org.seasar.cubby.internal.util;
    17
    18  import static org.junit.Assert.assertEquals;
    19
    20  import org.junit.Test;
    21  import org.seasar.cubby.internal.util.QueryStringBuilder;
    22
    23  public class QueryStringBuilderTest {
    24
    25  	@Test
    26  	public void queryToString() throws Exception {
    27  		QueryStringBuilder query = new QueryStringBuilder();
    28  		query.addParam("p1", "v1");
    29  		query.addParam("p2", null);
    30  		query.addParam("p3", new String[] { "v2", "v3" });
    31  		assertEquals("p1=v1&p2=&p3=v2&p3=v3", query.toString());
    32  	}
    33
    34  	@Test
    35  	public void queryToStringWithBaseUrl() throws Exception {
    36  		QueryStringBuilder query = new QueryStringBuilder("basePath");
    37  		query.addParam("p1", "v1");
    38  		query.addParam("p2", null);
    39  		query.addParam("p3", new String[] { "v2", "v3" });
    40  		assertEquals("basePath?p1=v1&p2=&p3=v2&p3=v3", query.toString());
    41  	}
    42
    43  	@Test
    44  	public void queryToStringWithBaseUrlAndParams() throws Exception {
    45  		QueryStringBuilder query = new QueryStringBuilder("basePath?key1=1");
    46  		query.addParam("p1", "v1");
    47  		query.addParam("p2", null);
    48  		query.addParam("p3", new String[] { "v2", "v3" });
    49  		assertEquals("basePath?key1=1&p1=v1&p2=&p3=v2&p3=v3", query.toString());
    50  	}
    51  }