X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FStringUtilsTest.java;h=6930e40dae7d865dd79a049473d795032605f1d8;hb=1ae9824ef37ce4ed36d1da986003474b47d1ab11;hp=eba2da4eb16ae118c4f0fbd8e83526e22d5d976c;hpb=2a4301b8fdda9f4e9d77473402d9b91b51009735;p=jalview.git diff --git a/test/jalview/util/StringUtilsTest.java b/test/jalview/util/StringUtilsTest.java index eba2da4..6930e40 100644 --- a/test/jalview/util/StringUtilsTest.java +++ b/test/jalview/util/StringUtilsTest.java @@ -1,5 +1,7 @@ package jalview.util; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.Arrays; @@ -53,4 +55,55 @@ public class StringUtilsTest // out of range deletion is ignore assertTrue(Arrays.equals(c1, StringUtils.deleteChars(c1, 3, 4))); } + + @Test + public void testGetLastToken() + { + assertNull(StringUtils.getLastToken(null, null)); + assertNull(StringUtils.getLastToken(null, "/")); + assertEquals("a", StringUtils.getLastToken("a", null)); + + assertEquals("abc", StringUtils.getLastToken("abc", "/")); + assertEquals("c", StringUtils.getLastToken("abc", "b")); + assertEquals("file1.dat", StringUtils.getLastToken( + "file://localhost:8080/data/examples/file1.dat", "/")); + } + + @Test + public void testSeparatorListToArray() + { + String[] result = StringUtils.separatorListToArray( + "foo=',',min='foo',max='1,2,3',fa=','", ","); + assertEquals("[foo=',', min='foo', max='1,2,3', fa=',']", + Arrays.toString(result)); + /* + * Comma nested in '' is not treated as delimiter; tokens are not trimmed + */ + result = StringUtils.separatorListToArray("minsize='2', sep=','", ","); + assertEquals("[minsize='2', sep=',']", Arrays.toString(result)); + + /* + * String delimited by | containing a quoted | (should not be treated as + * delimiter) + */ + assertEquals("[abc='|'d, ef, g]", Arrays.toString(StringUtils + .separatorListToArray("abc='|'d|ef|g", "|"))); + } + + @Test + public void testArrayToSeparatorList() + { + assertEquals("*", StringUtils.arrayToSeparatorList(null, "*")); + assertEquals("*", StringUtils.arrayToSeparatorList(new String[] + {}, "*")); + assertEquals("a*bc*cde", StringUtils.arrayToSeparatorList(new String[] + { "a", "bc", "cde" }, "*")); + assertEquals("a*cde", StringUtils.arrayToSeparatorList(new String[] + { "a", null, "cde" }, "*")); + assertEquals("a**cde", StringUtils.arrayToSeparatorList(new String[] + { "a", "", "cde" }, "*")); + // delimiter within token is not (yet) escaped + assertEquals("a*b*c*cde", StringUtils.arrayToSeparatorList(new String[] + { "a", "b*c", "cde" }, "*")); + } }