package org.python.pydev.shared_core.string; import java.util.Arrays; import junit.framework.TestCase; public class StringUtilsTest extends TestCase { public void testStringUtilsAsciiLetter() throws Exception { assertTrue(StringUtils.isAsciiLetter('a')); assertTrue(StringUtils.isAsciiLetter('A')); assertTrue(StringUtils.isAsciiLetter('z')); assertTrue(StringUtils.isAsciiLetter('Z')); assertFalse(StringUtils.isAsciiLetter('1')); assertFalse(StringUtils.isAsciiLetter('_')); assertFalse(StringUtils.isAsciiLetter('-')); } public void testStringUtilsAsciiLetterOrUnderline() throws Exception { assertTrue(StringUtils.isAsciiLetterOrUnderline('a')); assertTrue(StringUtils.isAsciiLetterOrUnderline('A')); assertTrue(StringUtils.isAsciiLetterOrUnderline('z')); assertTrue(StringUtils.isAsciiLetterOrUnderline('Z')); assertTrue(StringUtils.isAsciiLetterOrUnderline('_')); assertFalse(StringUtils.isAsciiLetterOrUnderline('1')); assertFalse(StringUtils.isAsciiLetterOrUnderline('-')); } public void testValidForIndexMatching() throws Exception { StringUtils.checkTokensValidForWildcardQuery("a.b"); StringUtils.checkTokensValidForWildcardQuery("a.b.c"); StringUtils.checkTokensValidForWildcardQuery("a.b.c.*"); try { StringUtils.checkTokensValidForWildcardQuery("?.*?"); fail("expected to fail"); } catch (RuntimeException e) { } StringUtils.checkTokensValidForWildcardQuery("a.b?*.c"); } public void testSplitForIndexMatching() throws Exception { assertEquals(StringUtils.splitForIndexMatching("a.b"), Arrays.asList("a", "b")); assertEquals(StringUtils.splitForIndexMatching("a."), Arrays.asList("a")); assertEquals(StringUtils.splitForIndexMatching("a*."), Arrays.asList("a*")); assertEquals(StringUtils.splitForIndexMatching("*a"), Arrays.asList("*a")); assertEquals(StringUtils.splitForIndexMatching("*"), Arrays.asList()); // Note: this is actually invalid for searching afterwards assertEquals(StringUtils.splitForIndexMatching("*?"), Arrays.asList()); // Note: this is actually invalid for searching afterwards assertEquals(StringUtils.splitForIndexMatching("\"!@#@\""), Arrays.asList()); // Note: this is actually invalid for searching afterwards } }