Package org.intellij.grammar

Source Code of org.intellij.grammar.BnfFlipChoiceIntentionTest

package org.intellij.grammar;

import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase;
import org.intellij.grammar.intention.BnfFlipChoiceIntention;

import java.io.IOException;

/**
* Created by IntelliJ IDEA.
* Date: 9/1/11
* Time: 6:42 PM
*
* @author Vadim Romansky
*/
public class BnfFlipChoiceIntentionTest extends LightPlatformCodeInsightFixtureTestCase {
  public void testCaretAtSeparator() throws Exception {doTest("rule ::= a <caret>| b","rule ::= b | a");}
  public void testCaretBeforeSeparator() throws Exception {doTest("rule ::= a<caret> | b","rule ::= b | a");}
  public void testCaretAfterSeparator() throws Exception {doTest("rule ::= a | <caret>b","rule ::= b | a");}
  public void testCaretInComment() throws Exception {doTest("rule ::= a | /* <caret>*/ b","rule ::= b | /* */ a");}
  public void testMultipleChoice() throws Exception {doTest("rule ::= a | b | c <caret>| d","rule ::= a | b | d | c");}
  public void testComplexCase() throws Exception {doTest("rule ::= a | b | c c c <caret>| d [d d]","rule ::= a | b | d [d d] | c c c");}

  private void doTest(/*@Language("BNF")*/ String text, /*@Language("BNF")*/ String expected) throws IOException {
    myFixture.configureByText("a.bnf", text);
    IntentionAction action = new BnfFlipChoiceIntention();
    assertTrue("intention not available", action.isAvailable(getProject(), myFixture.getEditor(), myFixture.getFile()));
    action.invoke(getProject(), myFixture.getEditor(), myFixture.getFile());
    assertSameLines(expected, myFixture.getFile().getText());
  }
}
TOP

Related Classes of org.intellij.grammar.BnfFlipChoiceIntentionTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.