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"); } }