blob: f9a751790b48bf512d827706606472df84836a75 [file] [log] [blame]
/*
* Copyright (c) 2013, the Dart project authors.
*
* Licensed under the Eclipse Public License v1.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.eclipse.org/legal/epl-v10.html
*
* 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 com.google.dart.engine.utilities.general;
import junit.framework.TestCase;
public class StringUtilitiesTest extends TestCase {
public void test_abbreviateLeft() throws Exception {
assertEquals("123456789", StringUtilities.abbreviateLeft("123456789", 100));
assertEquals("123456789", StringUtilities.abbreviateLeft("123456789", 9));
assertEquals("...56789", StringUtilities.abbreviateLeft("123456789", 8));
assertEquals("...6789", StringUtilities.abbreviateLeft("123456789", 7));
assertEquals("...789", StringUtilities.abbreviateLeft("123456789", 6));
assertEquals("...89", StringUtilities.abbreviateLeft("123456789", 5));
assertEquals("...9", StringUtilities.abbreviateLeft("123456789", 4));
try {
assertEquals("...", StringUtilities.abbreviateLeft("123456789", 3));
fail();
} catch (IllegalArgumentException e) {
}
}
public void test_EMPTY() {
assertEquals("", StringUtilities.EMPTY);
assertTrue(StringUtilities.EMPTY.isEmpty());
}
public void test_EMPTY_ARRAY() {
assertEquals(0, StringUtilities.EMPTY_ARRAY.length);
}
public void test_endsWith3() {
assertTrue(StringUtilities.endsWith3("abc", 'a', 'b', 'c')); // all
assertTrue(StringUtilities.endsWith3("abcdefghi", 'g', 'h', 'i')); // end
assertFalse(StringUtilities.endsWith3("abcdefghi", 'd', 'e', 'a')); // missing
}
public void test_endsWithChar() {
assertTrue(StringUtilities.endsWithChar("a", 'a'));
assertFalse(StringUtilities.endsWithChar("b", 'a'));
assertFalse(StringUtilities.endsWithChar("", 'a'));
}
public void test_indexOf1() {
assertEquals(0, StringUtilities.indexOf1("a", 0, 'a')); // all
assertEquals(0, StringUtilities.indexOf1("abcdef", 0, 'a')); // first
assertEquals(2, StringUtilities.indexOf1("abcdef", 0, 'c')); // middle
assertEquals(5, StringUtilities.indexOf1("abcdef", 0, 'f')); // last
assertEquals(-1, StringUtilities.indexOf1("abcdef", 0, 'z')); // missing
assertEquals(-1, StringUtilities.indexOf1("abcdef", 1, 'a')); // before start
}
public void test_indexOf2() {
assertEquals(0, StringUtilities.indexOf2("ab", 0, 'a', 'b')); // all
assertEquals(0, StringUtilities.indexOf2("abcdef", 0, 'a', 'b')); // first
assertEquals(2, StringUtilities.indexOf2("abcdef", 0, 'c', 'd')); // middle
assertEquals(4, StringUtilities.indexOf2("abcdef", 0, 'e', 'f')); // last
assertEquals(-1, StringUtilities.indexOf2("abcdef", 0, 'd', 'a')); // missing
assertEquals(-1, StringUtilities.indexOf2("abcdef", 1, 'a', 'b')); // before start
}
public void test_indexOf4() {
assertEquals(0, StringUtilities.indexOf4("abcd", 0, 'a', 'b', 'c', 'd')); // all
assertEquals(0, StringUtilities.indexOf4("abcdefghi", 0, 'a', 'b', 'c', 'd')); // first
assertEquals(2, StringUtilities.indexOf4("abcdefghi", 0, 'c', 'd', 'e', 'f')); // middle
assertEquals(5, StringUtilities.indexOf4("abcdefghi", 0, 'f', 'g', 'h', 'i')); // last
assertEquals(-1, StringUtilities.indexOf4("abcdefghi", 0, 'd', 'e', 'a', 'd')); // missing
assertEquals(-1, StringUtilities.indexOf4("abcdefghi", 1, 'a', 'b', 'c', 'd')); // before start
}
public void test_indexOf5() {
assertEquals(0, StringUtilities.indexOf5("abcde", 0, 'a', 'b', 'c', 'd', 'e')); // all
assertEquals(0, StringUtilities.indexOf5("abcdefghi", 0, 'a', 'b', 'c', 'd', 'e')); // first
assertEquals(2, StringUtilities.indexOf5("abcdefghi", 0, 'c', 'd', 'e', 'f', 'g')); // middle
assertEquals(4, StringUtilities.indexOf5("abcdefghi", 0, 'e', 'f', 'g', 'h', 'i')); // last
assertEquals(-1, StringUtilities.indexOf5("abcdefghi", 0, 'd', 'e', 'f', 'i', 'n')); // missing
assertEquals(-1, StringUtilities.indexOf5("abcdefghi", 1, 'a', 'b', 'c', 'd', 'e')); // before start
}
public void test_isAlpha() throws Exception {
assertFalse(StringUtilities.isAlpha(null));
assertFalse(StringUtilities.isAlpha(""));
assertFalse(StringUtilities.isAlpha("-"));
assertFalse(StringUtilities.isAlpha("0"));
assertFalse(StringUtilities.isAlpha("0a"));
assertFalse(StringUtilities.isAlpha("a0"));
assertFalse(StringUtilities.isAlpha("a b"));
assertTrue(StringUtilities.isAlpha("a"));
assertTrue(StringUtilities.isAlpha("ab"));
}
public void test_isEmpty() {
assertTrue(StringUtilities.isEmpty(""));
assertFalse(StringUtilities.isEmpty(" "));
assertFalse(StringUtilities.isEmpty("a"));
assertTrue(StringUtilities.isEmpty(StringUtilities.EMPTY));
}
public void test_isTagName() throws Exception {
assertFalse(StringUtilities.isTagName(null));
assertFalse(StringUtilities.isTagName(""));
assertFalse(StringUtilities.isTagName("-"));
assertFalse(StringUtilities.isTagName("0"));
assertFalse(StringUtilities.isTagName("0a"));
assertFalse(StringUtilities.isTagName("a b"));
assertTrue(StringUtilities.isTagName("a0"));
assertTrue(StringUtilities.isTagName("a"));
assertTrue(StringUtilities.isTagName("ab"));
assertTrue(StringUtilities.isTagName("a-b"));
}
public void test_printListOfQuotedNames_empty() {
try {
StringUtilities.printListOfQuotedNames(new String[0]);
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException exception) {
// Expected
}
}
public void test_printListOfQuotedNames_five() {
assertEquals(
"'a', 'b', 'c', 'd' and 'e'",
StringUtilities.printListOfQuotedNames(new String[] {"a", "b", "c", "d", "e"}));
}
public void test_printListOfQuotedNames_null() {
try {
StringUtilities.printListOfQuotedNames(null);
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException exception) {
// Expected
}
}
public void test_printListOfQuotedNames_one() {
try {
StringUtilities.printListOfQuotedNames(new String[] {"a"});
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException exception) {
// Expected
}
}
public void test_printListOfQuotedNames_three() {
assertEquals(
"'a', 'b' and 'c'",
StringUtilities.printListOfQuotedNames(new String[] {"a", "b", "c"}));
}
public void test_printListOfQuotedNames_two() {
assertEquals("'a' and 'b'", StringUtilities.printListOfQuotedNames(new String[] {"a", "b"}));
}
public void test_startsWith2() {
assertTrue(StringUtilities.startsWith2("ab", 0, 'a', 'b')); // all
assertTrue(StringUtilities.startsWith2("abcdefghi", 0, 'a', 'b')); // first
assertTrue(StringUtilities.startsWith2("abcdefghi", 2, 'c', 'd')); // middle
assertTrue(StringUtilities.startsWith2("abcdefghi", 5, 'f', 'g')); // end
assertFalse(StringUtilities.startsWith2("abcdefghi", 0, 'd', 'd')); // missing
}
public void test_startsWith3() {
assertTrue(StringUtilities.startsWith3("abc", 0, 'a', 'b', 'c')); // all
assertTrue(StringUtilities.startsWith3("abcdefghi", 0, 'a', 'b', 'c')); // first
assertTrue(StringUtilities.startsWith3("abcdefghi", 2, 'c', 'd', 'e')); // middle
assertTrue(StringUtilities.startsWith3("abcdefghi", 6, 'g', 'h', 'i')); // end
assertFalse(StringUtilities.startsWith3("abcdefghi", 0, 'd', 'e', 'a')); // missing
}
public void test_startsWith4() {
assertTrue(StringUtilities.startsWith4("abcd", 0, 'a', 'b', 'c', 'd')); // all
assertTrue(StringUtilities.startsWith4("abcdefghi", 0, 'a', 'b', 'c', 'd')); // first
assertTrue(StringUtilities.startsWith4("abcdefghi", 2, 'c', 'd', 'e', 'f')); // middle
assertTrue(StringUtilities.startsWith4("abcdefghi", 5, 'f', 'g', 'h', 'i')); // end
assertFalse(StringUtilities.startsWith4("abcdefghi", 0, 'd', 'e', 'a', 'd')); // missing
}
public void test_startsWith5() {
assertTrue(StringUtilities.startsWith5("abcde", 0, 'a', 'b', 'c', 'd', 'e')); // all
assertTrue(StringUtilities.startsWith5("abcdefghi", 0, 'a', 'b', 'c', 'd', 'e')); // first
assertTrue(StringUtilities.startsWith5("abcdefghi", 2, 'c', 'd', 'e', 'f', 'g')); // middle
assertTrue(StringUtilities.startsWith5("abcdefghi", 4, 'e', 'f', 'g', 'h', 'i')); // end
assertFalse(StringUtilities.startsWith5("abcdefghi", 0, 'a', 'b', 'c', 'b', 'a')); // missing
}
public void test_startsWith6() {
assertTrue(StringUtilities.startsWith6("abcdef", 0, 'a', 'b', 'c', 'd', 'e', 'f')); // all
assertTrue(StringUtilities.startsWith6("abcdefghi", 0, 'a', 'b', 'c', 'd', 'e', 'f')); // first
assertTrue(StringUtilities.startsWith6("abcdefghi", 2, 'c', 'd', 'e', 'f', 'g', 'h')); // middle
assertTrue(StringUtilities.startsWith6("abcdefghi", 3, 'd', 'e', 'f', 'g', 'h', 'i')); // end
assertFalse(StringUtilities.startsWith6("abcdefghi", 0, 'a', 'b', 'c', 'd', 'e', 'g')); // missing
}
public void test_startsWithChar() {
assertTrue(StringUtilities.startsWithChar("a", 'a'));
assertFalse(StringUtilities.startsWithChar("b", 'a'));
assertFalse(StringUtilities.startsWithChar("", 'a'));
}
public void test_substringBefore() {
assertEquals(null, StringUtilities.substringBefore(null, ""));
assertEquals(null, StringUtilities.substringBefore(null, "a"));
assertEquals("", StringUtilities.substringBefore("", "a"));
assertEquals("", StringUtilities.substringBefore("abc", "a"));
assertEquals("a", StringUtilities.substringBefore("abcba", "b"));
assertEquals("ab", StringUtilities.substringBefore("abc", "c"));
assertEquals("abc", StringUtilities.substringBefore("abc", "d"));
assertEquals("", StringUtilities.substringBefore("abc", ""));
assertEquals("abc", StringUtilities.substringBefore("abc", null));
}
public void test_substringBeforeChar() {
assertEquals(null, StringUtilities.substringBeforeChar(null, 'a'));
assertEquals("", StringUtilities.substringBeforeChar("", 'a'));
assertEquals("", StringUtilities.substringBeforeChar("abc", 'a'));
assertEquals("a", StringUtilities.substringBeforeChar("abcba", 'b'));
assertEquals("ab", StringUtilities.substringBeforeChar("abc", 'c'));
assertEquals("abc", StringUtilities.substringBeforeChar("abc", 'd'));
}
}