X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FStringUtilsTest.java;h=6930e40dae7d865dd79a049473d795032605f1d8;hb=1ae9824ef37ce4ed36d1da986003474b47d1ab11;hp=22a41304a1a4e5128993216f08e4c55f36d2bd02;hpb=c9f31322ad542be7fab91e0c9f2ff3638a25c5b1;p=jalview.git diff --git a/test/jalview/util/StringUtilsTest.java b/test/jalview/util/StringUtilsTest.java index 22a4130..6930e40 100644 --- a/test/jalview/util/StringUtilsTest.java +++ b/test/jalview/util/StringUtilsTest.java @@ -68,4 +68,42 @@ public class StringUtilsTest 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" }, "*")); + } }