コード例 #1
0
  @Test
  public void testShowEditorsInReadOnlyMode() {
    // Given:
    userWorkspaceContext.setProjectActive(false);
    userWorkspaceContext.setHasEditTranslationAccess(false);
    selectedTU = currentPageRows.get(0);
    ArrayList<ToggleEditor> currentEditors = Lists.newArrayList(editor);
    when(editor.getId()).thenReturn(selectedTU.getId());
    ArrayList<ToggleEditor> previousEditors = Lists.newArrayList(editor2);
    presenter.setStatesForTesting(null, 0, display);
    when(display.getId()).thenReturn(selectedTU.getId());
    when(display.getEditors()).thenReturn(previousEditors, currentEditors);
    when(sourceContentPresenter.getSourceContent(selectedTU.getId()))
        .thenReturn(Optional.of("source"));

    // When:
    presenter.setSelected(selectedTU.getId());

    // Then:
    verify(editorTranslators).clearTranslatorList(previousEditors);
    verify(editor).clearTranslatorList();
    verify(display).showButtons(false);
    verify(display).setToMode(ToggleEditor.ViewMode.VIEW);
    verify(editorKeyShortcuts).enableNavigationContext();
  }
コード例 #2
0
  @Test
  public void testOnInsertString() {
    // Given:
    selectedTU = currentPageRows.get(0);
    when(editor.getId()).thenReturn(selectedTU.getId());
    when(display.getId()).thenReturn(selectedTU.getId());
    when(display.getEditors()).thenReturn(Lists.newArrayList(editor));
    when(tableEditorMessages.notifyCopied()).thenReturn("copied");
    when(sourceContentPresenter.getSourceContent(selectedTU.getId()))
        .thenReturn(Optional.of("source content"));

    presenter.setStatesForTesting(selectedTU.getId(), 0, display);

    // When:
    presenter.onInsertString(new InsertStringInEditorEvent("", "suggestion"));

    // Then:
    verify(editor).insertTextInCursorPosition("suggestion");

    verify(eventBus, atLeastOnce()).fireEvent(eventCaptor.capture());
    NotificationEvent notificationEvent =
        TestFixture.extractFromEvents(eventCaptor.getAllValues(), NotificationEvent.class);
    MatcherAssert.assertThat(notificationEvent.getMessage(), Matchers.equalTo("copied"));

    RunValidationEvent runValidationEvent =
        TestFixture.extractFromEvents(eventCaptor.getAllValues(), RunValidationEvent.class);
    assertThat(runValidationEvent.getSourceContent(), equalTo("source content"));
  }
コード例 #3
0
  @Test
  public void onRequestValidationWillNotFireRunValidationEventIfSourceAndTargetDoNotMatch() {
    // given current display is null
    when(sourceContentPresenter.getCurrentTransUnitIdOrNull()).thenReturn(new TransUnitId(1));

    presenter.onRequestValidation(RequestValidationEvent.EVENT);

    verifyNoMoreInteractions(eventBus);
  }
コード例 #4
0
  @Test
  public void onRequestValidationWillFireRunValidationEvent() {
    // given current display has one editor and current editor has target content
    selectedTU = currentPageRows.get(0);
    presenter.setStatesForTesting(selectedTU.getId(), 0, display);
    when(display.getId()).thenReturn(selectedTU.getId());
    when(editor.getId()).thenReturn(selectedTU.getId());
    when(display.getEditors()).thenReturn(Lists.newArrayList(editor));
    when(sourceContentPresenter.getCurrentTransUnitIdOrNull()).thenReturn(selectedTU.getId());
    when(sourceContentPresenter.getSourceContent(selectedTU.getId()))
        .thenReturn(Optional.of("source"));
    when(editor.getText()).thenReturn("target");

    presenter.onRequestValidation(RequestValidationEvent.EVENT);

    verify(eventBus).fireEvent(eventCaptor.capture());
    RunValidationEvent event =
        TestFixture.extractFromEvents(eventCaptor.getAllValues(), RunValidationEvent.class);
    MatcherAssert.assertThat(event.getTarget(), Matchers.equalTo("target"));
  }
コード例 #5
0
  @Test
  public void canCopySource() {
    // Given: selected one trans unit
    selectedTU = currentPageRows.get(0);
    when(display.getId()).thenReturn(selectedTU.getId());
    when(display.getEditors()).thenReturn(Lists.newArrayList(editor));
    presenter.setStatesForTesting(selectedTU.getId(), 0, display);
    when(sourceContentPresenter.getSelectedSource()).thenReturn("source");

    presenter.copySource(editor, selectedTU.getId());

    verify(editor).setTextAndValidate("source");
    verify(editor).setFocus();
    verify(eventBus).fireEvent(isA(NotificationEvent.class));
  }
コード例 #6
0
  @Test
  public void canValidate() {
    selectedTU = currentPageRows.get(0);
    presenter.setStatesForTesting(selectedTU.getId(), 0, display);
    when(display.getId()).thenReturn(selectedTU.getId());
    when(editor.getId()).thenReturn(selectedTU.getId());
    when(editor.getText()).thenReturn("target");
    when(sourceContentPresenter.getSourceContent(selectedTU.getId()))
        .thenReturn(Optional.of("source"));

    presenter.validate(editor);

    verify(eventBus).fireEvent(eventCaptor.capture());
    RunValidationEvent event = (RunValidationEvent) eventCaptor.getValue();
    assertThat(event.getSourceContent(), equalTo("source"));
    assertThat(event.getTarget(), equalTo("target"));
    assertThat(event.isFireNotification(), equalTo(false));
    assertThat(
        event.getWidgetList(),
        Matchers.<HasUpdateValidationWarning>containsInAnyOrder(editor, display));
  }