regexp: remove ugly test only method

This commit is contained in:
Bas Leijdekkers
2016-12-13 20:09:27 +01:00
parent fe7baae811
commit 31cd1f041f
2 changed files with 9 additions and 32 deletions
@@ -20,9 +20,7 @@ import com.intellij.lang.ASTNode;
import com.intellij.lang.ParserDefinition;
import com.intellij.lang.PsiParser;
import com.intellij.lexer.Lexer;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Disposer;
import com.intellij.psi.FileViewProvider;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
@@ -32,8 +30,6 @@ import com.intellij.psi.tree.IFileElementType;
import com.intellij.psi.tree.TokenSet;
import org.intellij.lang.regexp.psi.impl.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
import java.util.EnumSet;
@@ -43,47 +39,42 @@ public class RegExpParserDefinition implements ParserDefinition {
RegExpCapability.ALLOW_HORIZONTAL_WHITESPACE_CLASS,
RegExpCapability.UNICODE_CATEGORY_SHORTHAND);
@TestOnly
public static void setTestCapability(@Nullable RegExpCapability capability, @NotNull Disposable parentDisposable) {
if (!CAPABILITIES.contains(capability)) {
CAPABILITIES.add(capability);
Disposer.register(parentDisposable, () -> CAPABILITIES.remove(capability));
}
else {
CAPABILITIES.remove(capability);
Disposer.register(parentDisposable, () -> CAPABILITIES.add(capability));
}
}
@Override
@NotNull
public Lexer createLexer(Project project) {
return new RegExpLexer(CAPABILITIES);
}
@Override
public PsiParser createParser(Project project) {
return new RegExpParser(CAPABILITIES);
}
@Override
public IFileElementType getFileNodeType() {
return RegExpElementTypes.REGEXP_FILE;
}
@Override
@NotNull
public TokenSet getWhitespaceTokens() {
// trick to hide quote tokens from parser... should actually go into the lexer
return TokenSet.create(RegExpTT.QUOTE_BEGIN, RegExpTT.QUOTE_END, TokenType.WHITE_SPACE);
}
@Override
@NotNull
public TokenSet getStringLiteralElements() {
return TokenSet.EMPTY;
}
@Override
@NotNull
public TokenSet getCommentTokens() {
return COMMENT_TOKENS;
}
@Override
@NotNull
public PsiElement createElement(ASTNode node) {
final IElementType type = node.getElementType();
@@ -132,10 +123,12 @@ public class RegExpParserDefinition implements ParserDefinition {
return new ASTWrapperPsiElement(node);
}
@Override
public PsiFile createFile(FileViewProvider viewProvider) {
return new RegExpFile(viewProvider, RegExpLanguage.INSTANCE);
}
@Override
public SpaceRequirements spaceExistanceTypeBetweenTokens(ASTNode left, ASTNode right) {
return SpaceRequirements.MUST_NOT;
}
@@ -43,22 +43,6 @@ public class RegExpCompletionTest extends CodeInsightFixtureTestCase {
return Character.toUpperCase(testName.charAt(0)) + testName.substring(1) + "Expected" + ".regexp";
}
public void testPosixBracketExpression() {
RegExpParserDefinition.setTestCapability(RegExpCapability.POSIX_BRACKET_EXPRESSIONS, getTestRootDisposable());
myFixture.configureByText(RegExpFileType.INSTANCE, "[[:alp<caret>");
myFixture.completeBasic();
myFixture.checkResult("[[:alpha:]<caret>");
}
public void testNegatePosixBracketExpression() {
RegExpParserDefinition.setTestCapability(RegExpCapability.POSIX_BRACKET_EXPRESSIONS, getTestRootDisposable());
myFixture.configureByText(RegExpFileType.INSTANCE, "[[:^alp<caret>");
myFixture.completeBasic();
myFixture.checkResult("[[:^alpha:]<caret>");
}
public void testNamedCharacter() {
myFixture.configureByText(RegExpFileType.INSTANCE, "\\N{SMILE<caret>}");
final LookupElement[] elements = myFixture.completeBasic();