package com.jetbrains.dart.analysisServer;
import com.intellij.codeInsight.actions.OptimizeImportsAction;
import com.intellij.ide.DataManager;
import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl;
import com.jetbrains.lang.dart.util.DartTestUtils;
public class DartOptimizeImportsTest extends CodeInsightFixtureTestCase {
@Override
public void setUp() throws Exception {
super.setUp();
DartTestUtils.configureDartSdk(myModule, myFixture.getTestRootDisposable(), true);
myFixture.setTestDataPath(DartTestUtils.BASE_TEST_DATA_PATH + getBasePath());
}
@Override
protected String getBasePath() {
return "/analysisServer/optimizeImports";
}
private void doTest(final String... filePaths) {
((CodeInsightTestFixtureImpl)myFixture).canChangeDocumentDuringHighlighting(true);
myFixture.configureByFiles(filePaths);
myFixture.doHighlighting(); // make sure server is warmed up
OptimizeImportsAction.actionPerformedImpl(DataManager.getInstance().getDataContext(myFixture.getEditor().getContentComponent()));
myFixture.checkResultByFile(getTestName(false) + ".after.dart");
}
public void testOptimizeImports() throws Throwable {
final String testName = getTestName(false);
doTest(testName + ".dart", testName + "_other1.dart", testName + "_other2.dart");
}
}