package test; import aQute.libg.qtokens.QuotedTokenizer; import junit.framework.TestCase; public class TestQuotedTokenizer extends TestCase { public static void testNativeSeps() { String s[] = new QuotedTokenizer("x;c;d=4", ";,=", true).getTokens(); assertEquals("Length", 7, s.length); assertEquals("x", s[0]); assertEquals(";", s[1]); assertEquals("c", s[2]); assertEquals(";", s[3]); assertEquals("d", s[4]); assertEquals("=", s[5]); assertEquals("4", s[6]); } public static void testSimple() { String s[] = new QuotedTokenizer("1.jar, 2.jar, \t 3.jar", ",").getTokens(); assertEquals("Length", 3, s.length); assertEquals("1.jar", s[0]); assertEquals("2.jar", s[1]); assertEquals("3.jar", s[2]); } public static void testQuoted() { String s[] = new QuotedTokenizer("'1 ,\t.jar'", ",").getTokens(); assertEquals("Length", 1, s.length); assertEquals("1 ,\t.jar", s[0]); } public static void testWhiteSpace() { String s[] = new QuotedTokenizer(" 1.jar, 2.jar ", ",").getTokens(); assertEquals("Length", 2, s.length); assertEquals("1.jar", s[0]); assertEquals("2.jar", s[1]); } public static void testMultipleSeps() { String s[] = new QuotedTokenizer("1.jar,,,,,,,,,,, , ,2.jar", ",").getTokens(); assertEquals("Length", 14, s.length); assertEquals("1.jar", s[0]); assertEquals("2.jar", s[13]); } public static void testNative() { String s[] = new QuotedTokenizer("x.dll;y.dll;abc=3;def=5;version=\"1.2.34,123\"", ";,=").getTokens(); assertEquals("Length", 8, s.length); assertEquals("x.dll", s[0]); assertEquals("y.dll", s[1]); assertEquals("abc", s[2]); assertEquals("3", s[3]); assertEquals("def", s[4]); assertEquals("5", s[5]); assertEquals("version", s[6]); assertEquals("1.2.34,123", s[7]); } public static void testEscapedQuote() { QuotedTokenizer qt = new QuotedTokenizer("'\\'y'", ","); String s = qt.nextToken(); assertEquals("'y", s); } public static void testExplicitEmptyString() { QuotedTokenizer qt = new QuotedTokenizer("literal=''", ";=,"); qt.nextToken(); assertEquals("", qt.nextToken()); } public static void testImplicitEmptyStringTurnedToNull() { QuotedTokenizer qt = new QuotedTokenizer("literal=", ";=,"); qt.nextToken(); assertNull(qt.nextToken()); } }