/* * Copyright 2010 Google Inc. * * 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 elemental.js.util; import com.google.gwt.junit.client.GWTTestCase; import elemental.util.ArrayOfString; /** * Tests {@link StringUtil}. * */ public class StringUtilTests extends GWTTestCase { @Override public String getModuleName() { return "elemental.Elemental"; } private static void assertSame(String[] expected, ArrayOfString result) { assertEquals(expected.length, result.length()); for (int i = 0, n = expected.length; i < n; ++i) { assertEquals(expected[i], result.get(i)); } } /** * Tests {@link StringUtil#split(String, String)} and * {@link StringUtil#split(String, String, int)}. */ public void testSplit() { assertSame( new String[] {"abc", "", "", "de", "f", "", ""}, StringUtil.split("abcxxxdexfxx", "x")); assertSame(new String[] {"a", "b", "c", "x", "x", "d", "e", "x", "f", "x"}, StringUtil.split("abcxxdexfx", "")); final String booAndFoo = "boo:and:foo"; assertSame(new String[] {"boo", "and"}, StringUtil.split(booAndFoo, ":", 2)); assertSame(new String[] {"boo", "and", "foo"}, StringUtil.split(booAndFoo, ":", 5)); assertSame(new String[] {"boo", "and", "foo"}, StringUtil.split(booAndFoo, ":", -2)); assertSame(new String[] {"", ""}, StringUtil.split("/", "/")); assertSame(new String[] {""}, StringUtil.split("", ",")); } }