SpellChecker:fix IdentifierSplitter (support numbers in names IDEA-53401)

This commit is contained in:
unknown
2010-04-05 23:08:44 +04:00
parent 2ebf7fd1fb
commit f3d833a404
3 changed files with 12 additions and 10 deletions
@@ -47,15 +47,6 @@ public abstract class BaseSplitter implements Splitter {
}
protected static boolean isAllWordsAreUpperCased(String[] words) {
if (words == null) return false;
for (String word : words) {
if (!Strings.isUpperCase(word)) {
return false;
}
}
return true;
}
protected static boolean isAllWordsAreUpperCased(@NotNull String text, @NotNull List<TextRange> words) {
for (TextRange word : words) {
@@ -33,7 +33,7 @@ public class IdentifierSplitter extends BaseSplitter {
private static final Pattern WORD = Pattern.compile("\\b\\p{L}*'?\\p{L}*");
@NonNls
private static final Pattern WORD_EXT = Pattern.compile("(\\p{L}*?)[-_$\\[\\]]");
private static final Pattern WORD_EXT = Pattern.compile("(\\p{L}*?)[-_$\\[\\]0-9]");
@NonNls
private static final Pattern WORD_IN_QUOTES = Pattern.compile("'([^']*)'");
@@ -120,6 +120,17 @@ public class SplitterTest extends TestCase {
correctListToCheck(checkAreas, text, new String[]{});
}
public void testIdentifiersWithNumbers() {
String text = "result1";
List<CheckArea> checkAreas = SplitterFactory.getInstance().getIdentifierSplitter().split(text);
correctListToCheck(checkAreas, text, new String[]{"result"});
}
public void testIdentifiersWithNumbersInside() {
String text = "result1result";
List<CheckArea> checkAreas = SplitterFactory.getInstance().getIdentifierSplitter().split(text);
correctListToCheck(checkAreas, text, new String[]{"result","result"});
}
public void testWordWithApostrophe2() {
String text = "customers'";