mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
regexp: remove ugly test only method
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user