/******************************************************************************* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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.apache.wink.common.internal.utils; import static org.junit.Assert.assertArrayEquals; import junit.framework.TestCase; public class StringUtilsTest extends TestCase { public void testFastSplit() { String[] result = StringUtils.fastSplit("", ","); assertArrayEquals(new String[] {""}, result); result = StringUtils.fastSplit(",", ","); assertArrayEquals(new String[] {"", ""}, result); result = StringUtils.fastSplit(",", ",", false); assertArrayEquals(new String[] {""}, result); result = StringUtils.fastSplit(null, ","); assertArrayEquals(new String[] {}, result); result = StringUtils.fastSplit("a", ","); assertArrayEquals(new String[] {"a"}, result); result = StringUtils.fastSplit("a,b", ","); assertArrayEquals(new String[] {"a", "b"}, result); result = StringUtils.fastSplit("a,b,c", ","); assertArrayEquals(new String[] {"a", "b", "c"}, result); result = StringUtils.fastSplit("a,b,c", ","); assertArrayEquals(new String[] {"a", "b", "c"}, result); result = StringUtils.fastSplit("a,b,", ","); assertArrayEquals(new String[] {"a", "b", ""}, result); result = StringUtils.fastSplit("a,b,", ",", true); assertArrayEquals(new String[] {"a", "b", ""}, result); result = StringUtils.fastSplit("a,b,", ",", false); assertArrayEquals(new String[] {"a", "b"}, result); result = StringUtils.fastSplit(",a,b", ","); assertArrayEquals(new String[] {"", "a", "b"}, result); result = StringUtils.fastSplit(",a,b,", ","); assertArrayEquals(new String[] {"", "a", "b", ""}, result); } public void testFastSplitTemplate() { String[] result = StringUtils.fastSplitTemplate("", ","); assertArrayEquals(new String[] {""}, result); result = StringUtils.fastSplitTemplate(",", ","); assertArrayEquals(new String[] {"", ""}, result); result = StringUtils.fastSplitTemplate(",", ",", false); assertArrayEquals(new String[] {""}, result); result = StringUtils.fastSplitTemplate(null, ","); assertArrayEquals(new String[] {}, result); result = StringUtils.fastSplitTemplate("a", ","); assertArrayEquals(new String[] {"a"}, result); result = StringUtils.fastSplitTemplate("a,b", ","); assertArrayEquals(new String[] {"a", "b"}, result); result = StringUtils.fastSplitTemplate("a,b,c", ","); assertArrayEquals(new String[] {"a", "b", "c"}, result); result = StringUtils.fastSplitTemplate("a,b,c", ","); assertArrayEquals(new String[] {"a", "b", "c"}, result); result = StringUtils.fastSplitTemplate("a,b,", ","); assertArrayEquals(new String[] {"a", "b", ""}, result); result = StringUtils.fastSplitTemplate("a,b,", ",", true); assertArrayEquals(new String[] {"a", "b", ""}, result); result = StringUtils.fastSplitTemplate("a,b,", ",", false); assertArrayEquals(new String[] {"a", "b"}, result); result = StringUtils.fastSplitTemplate(",a,b", ","); assertArrayEquals(new String[] {"", "a", "b"}, result); result = StringUtils.fastSplitTemplate(",a,b,", ","); assertArrayEquals(new String[] {"", "a", "b", ""}, result); result = StringUtils.fastSplitTemplate("a,{b,c}", ","); assertArrayEquals(new String[] {"a", "{b,c}"}, result); result = StringUtils.fastSplitTemplate("a,{b,c},d", ","); assertArrayEquals(new String[] {"a", "{b,c}", "d"}, result); result = StringUtils.fastSplitTemplate("a,{b,c,d},e", ","); assertArrayEquals(new String[] {"a", "{b,c,d}", "e"}, result); result = StringUtils.fastSplitTemplate("a,{b},c", ","); assertArrayEquals(new String[] {"a", "{b}", "c"}, result); result = StringUtils.fastSplitTemplate("a,{},b,c", ","); assertArrayEquals(new String[] {"a", "{}", "b", "c"}, result); result = StringUtils.fastSplitTemplate("a,{b,c},", ","); assertArrayEquals(new String[] {"a", "{b,c}", ""}, result); result = StringUtils.fastSplitTemplate("a,{b,c", ","); assertArrayEquals(new String[] {"a", "{b,c"}, result); result = StringUtils.fastSplitTemplate("a,{{b,c}", ","); assertArrayEquals(new String[] {"a", "{{b,c}"}, result); result = StringUtils.fastSplitTemplate("a,{{b,c},d}", ","); assertArrayEquals(new String[] {"a", "{{b,c},d}"}, result); result = StringUtils.fastSplitTemplate("a,{{b,c},d},e", ","); assertArrayEquals(new String[] {"a", "{{b,c},d}", "e"}, result); result = StringUtils.fastSplitTemplate("a,{b,c},{d", ","); assertArrayEquals(new String[] {"a", "{b,c}", "{d"}, result); result = StringUtils.fastSplitTemplate("a,{b,c},}d}", ","); assertArrayEquals(new String[] {"a", "{b,c}", "}d}"}, result); result = StringUtils.fastSplitTemplate("a,{b,c},{}d{}", ","); assertArrayEquals(new String[] {"a", "{b,c}", "{}d{}"}, result); result = StringUtils.fastSplitTemplate("a,b,c}", ","); assertArrayEquals(new String[] {"a", "b", "c}"}, result); result = StringUtils.fastSplitTemplate("{a,b,c}", ","); assertArrayEquals(new String[] {"{a,b,c}"}, result); result = StringUtils.fastSplitTemplate("a,{b,c,,},d,{e,f,},g", ","); assertArrayEquals(new String[] {"a", "{b,c,,}", "d", "{e,f,}", "g"}, result); } }