org.eclipse.jface.text.IUndoManager#undo ( )源码实例Demo

下面列出了org.eclipse.jface.text.IUndoManager#undo ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * @see https://bugs.eclipse.org/bugs/show_bug.cgi?id=354123
 */
@Test
public void testUndoRedo() throws Exception {
	pushKey('a', 0);
	Assert.assertEquals(1, events.size());
	Assert.assertEquals("fooa", getFirstExportedObjectInLastEventDelta()
			.getQualifiedName().getLastSegment());
	IUndoManager undoManager = ((XtextSourceViewer) editor.getInternalSourceViewer()).getUndoManager();
	undoManager.undo();
	syncUtil.yieldToQueuedDisplayJobs(new NullProgressMonitor());
	syncUtil.waitForReconciler(editor);
	Assert.assertEquals(2, events.size());
	Assert.assertNull(Iterables.getLast(events).getDeltas().get(0).getNew());
	undoManager.redo();
	syncUtil.yieldToQueuedDisplayJobs(new NullProgressMonitor());
	syncUtil.waitForReconciler(editor);
	Assert.assertEquals(3, events.size());
	Assert.assertEquals("fooa", getFirstExportedObjectInLastEventDelta()
			.getQualifiedName().getLastSegment());
	Iterables.getLast(events);
}
 
源代码2 项目: xtext-xtend   文件: UndoTest.java
@Test
public void testUndo() {
  try {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("class Foo {");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("val java.lang.String x");
    _builder.newLine();
    _builder.append("\t");
    _builder.append("val java.util.ArrayList<String> y");
    _builder.newLine();
    _builder.append("}");
    _builder.newLine();
    final XtextEditor editor = this._workbenchTestHelper.openEditor("Foo", _builder.toString());
    this._organizeImportsHandler.doOrganizeImports(editor.getDocument());
    StringConcatenation _builder_1 = new StringConcatenation();
    _builder_1.append("import java.util.ArrayList");
    _builder_1.newLine();
    _builder_1.newLine();
    _builder_1.append("class Foo {");
    _builder_1.newLine();
    _builder_1.append("\t");
    _builder_1.append("val String x");
    _builder_1.newLine();
    _builder_1.append("\t");
    _builder_1.append("val ArrayList<String> y");
    _builder_1.newLine();
    _builder_1.append("}");
    _builder_1.newLine();
    Assert.assertEquals(_builder_1.toString(), editor.getDocument().get());
    final ISourceViewer viewer = editor.getInternalSourceViewer();
    Assert.assertTrue((viewer instanceof ITextViewerExtension6));
    final IUndoManager undoManager = ((ITextViewerExtension6) viewer).getUndoManager();
    undoManager.undo();
    StringConcatenation _builder_2 = new StringConcatenation();
    _builder_2.append("class Foo {");
    _builder_2.newLine();
    _builder_2.append("\t");
    _builder_2.append("val java.lang.String x");
    _builder_2.newLine();
    _builder_2.append("\t");
    _builder_2.append("val java.util.ArrayList<String> y");
    _builder_2.newLine();
    _builder_2.append("}");
    _builder_2.newLine();
    Assert.assertEquals(_builder_2.toString(), editor.getDocument().get());
  } catch (Throwable _e) {
    throw Exceptions.sneakyThrow(_e);
  }
}
 
 同类方法