@Nullable private static Sdk createDefaultErlangSdk(@NotNull ProjectJdkTable projectJdkTable, @NotNull SdkType erlangSdkType, @NotNull String homePath) { String sdkName = erlangSdkType.suggestSdkName("Default " + erlangSdkType.getName(), homePath); ProjectJdkImpl projectJdkImpl = new ProjectJdkImpl(sdkName, erlangSdkType); projectJdkImpl.setHomePath(homePath); erlangSdkType.setupSdkPaths(projectJdkImpl); final Sdk erlangSdk; if (projectJdkImpl.getVersionString() != null) { ApplicationManager.getApplication().invokeAndWait( () -> ApplicationManager.getApplication().runWriteAction(() -> projectJdkTable.addJdk(projectJdkImpl) ), NON_MODAL ); erlangSdk = projectJdkImpl; } else { erlangSdk = null; } return erlangSdk; }
public void useInlineThreading(@Nullable List<Throwable> caughtErrors) { Application application = getMockApplication(); when(application.executeOnPooledThread((Runnable) any())).then(IMMEDIATE_THREAD_RUNNER); when(application.executeOnPooledThread((Callable<?>) any())).then(IMMEDIATE_THREAD_RUNNER); doAnswer(IMMEDIATE_THREAD_RUNNER).when(application).invokeLater(any()); doAnswer(IMMEDIATE_THREAD_RUNNER).when(application).invokeLater(any(), (Condition) any()); doAnswer(IMMEDIATE_THREAD_RUNNER).when(application).invokeLater(any(), (ModalityState) any()); doAnswer(IMMEDIATE_THREAD_RUNNER).when(application).invokeAndWait(any()); doAnswer(IMMEDIATE_THREAD_RUNNER).when(application).invokeAndWait(any(), any()); }
private static void addHighlightersFromEditor(final Set<RangeHighlighter> highlighters, final Editor editor) { ApplicationManager.getApplication().invokeAndWait(() -> { final RangeHighlighter[] highlightersFromCurrentEditor = editor.getMarkupModel().getAllHighlighters(); highlighters.addAll(Sets.newHashSet(highlightersFromCurrentEditor)); }, ModalityState.any()); }
@Test public void convertShouldReturnWithPrefixWhenBoolean() throws Exception { application.invokeAndWait(() -> { // exercise final String actual = underTest.convert("Foo_Bar", TypeName.BOOLEAN); // verify assertThat(actual) .isEqualTo("isFooBar"); }); }
@Test @SuppressWarnings("ResultOfMethodCallIgnored") public void convertShouldThrowExceptionWhenInvalidName() throws Exception { application.invokeAndWait(() -> { // verify assertThatThrownBy(() -> { // exercise underTest.convert("+-*/", TypeName.OBJECT); }).isInstanceOf(IllegalArgumentException.class); }); } }
@Test public void convertShouldRemoveInvalidCharacters() throws Exception { application.invokeAndWait(() -> { // exercise final String actual = underTest.convert("/*Foo_Bar*/", TypeName.OBJECT); // verify assertThat(actual) .isEqualTo("getFooBar"); }); }
@Test public void convertShouldReturnLowerCamelTextWithPrefix() throws Exception { application.invokeAndWait(() -> { // exercise final String actual = underTest.convert("Foo_Bar", TypeName.OBJECT); // verify assertThat(actual) .isEqualTo("getFooBar"); }); }
@Test public void notification_shown_beforeUpdate() { when(mockSdkService.isUpToDate()).thenReturn(false); managedCloudSdkUpdateService.activate(); ApplicationManager.getApplication() .invokeAndWait(() -> verify(mockUiPresenter).notifyManagedSdkUpdate(any(), any())); }
@Test public void installingSdk_then_readySdk_correctly_runs() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.READY); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verify(mockRunnable).run()); }
@Test public void waitFor_installingSdk_then_readySdk_noErrors() throws InterruptedException { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.READY); cloudSdkServiceManager.blockUntilSdkReady(mockProject, "", mockStatusHandler); ApplicationManager.getApplication() .invokeAndWait(() -> verify(mockStatusHandler, never()).onError(any())); }
@Test public void installingSdk_then_stillInstalling_doesNotRun() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.INSTALLING); // mock cancel operation for incomplete install. doReturn(true).when(cloudSdkServiceManager).checkIfCancelled(); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verifyNoMoreInteractions(mockRunnable)); }
@Test public void update_called_when_sdk_notUpToDate() { when(mockSdkService.isUpToDate()).thenReturn(false); managedCloudSdkUpdateService.activate(); // managed SDK is UI thread only, ApplicationManager.getApplication().invokeAndWait(() -> verify(mockSdkService).update()); }
@Test public void installingSdk_then_invalidSdk_doesNotRun() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.INVALID); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verifyNoMoreInteractions(mockRunnable)); }
@Test public void installingSdk_then_notAvailableSdk_doesNotRun() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.NOT_AVAILABLE); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verifyNoMoreInteractions(mockRunnable)); }
@Test public void serviceAccountUi_whenNoRolesExist_isHidden() { Set<CloudLibrary> libraries = ImmutableSet.of(TestCloudLibrary.createEmpty().toCloudLibrary()); ApplicationManager.getApplication() .invokeAndWait( () -> { CloudApiManagementConfirmationDialog dialog = new CloudApiManagementConfirmationDialog( module, cloudProject, libraries, ImmutableSet.of(), ImmutableSet.of()); assertThat(dialog.getRolePanel().isVisible()).isFalse(); }); }
public static void addFacet(Module module, FacetTypeId<?> facetTypeId) { FacetType<?, ?> facetType = FacetTypeRegistry.getInstance().findFacetType(facetTypeId); ApplicationManager.getApplication() .invokeAndWait( () -> ApplicationManager.getApplication() .runWriteAction( () -> { FacetManager.getInstance(module) .addFacet(facetType, facetTypeId.toString(), null /*underlying*/); })); } }
@Test public void disposeShouldReleaseEditor() throws Exception { // exercise application.invokeAndWait(() -> underTest.dispose()); // verify final Editor[] actual = EditorFactory.getInstance().getAllEditors(); assertThat(actual) .isEmpty(); }
@Before public void setUp() throws Exception { ApplicationManager.getApplication() .invokeAndWait(() -> gcsPanel = new GcsToolWindowPanel(testFixture.getProject())); }
@After public void tearDown() throws Exception { application.invokeAndWait(() -> underTest.dispose()); window.cleanUp(); testFixture.tearDown(); }
@Test public void defaultSdkSettings_reset_validUiState() { ApplicationManager.getApplication() .invokeAndWait( () -> { // use non-spy panel as spy messes up with UI event thread field updates. CloudSdkPanel sdkPanel = new CloudSdkPanel(); // use built-in defaults. sdkPanel.reset(); verifySdkPanelStateForCurrentSettings(sdkPanel); }); }