Skip to content

Commit

Permalink
Reactivate tests in org.eclipse.debug.tests eclipse-platform#525
Browse files Browse the repository at this point in the history
In this commit the test testCheckReceiver() from the class CheckTests.java in org.eclipse.debug.tests is reactivated and fixed. It is about checking if a checkbox is properly toggled in the ui after changing its state. After fixing the issue the checked box can be clearly seen while debuging the code. Contributes to eclipse-platform#525.
  • Loading branch information
Michael5601 authored and HeikoKlare committed Sep 19, 2023
1 parent 00e8ea7 commit 5953747
Showing 1 changed file with 27 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
import org.eclipse.debug.tests.viewer.model.TestModel.TestElement;
import org.eclipse.jface.viewers.TreePath;
import org.junit.Assert;
import org.junit.Test;

/**
Expand Down Expand Up @@ -74,35 +75,32 @@ public void testSimpleMultiLevel() throws Exception {
model.validateData(fViewer, TreePath.EMPTY);
}

// TODO: no idea how to trigger a toggle event on an item
// public void testCheckReceiver() {
// // Initial setup
// TestModel model = TestModel.simpleSingleLevel();
// fViewer.setAutoExpandLevel(-1);
// //TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
// fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
// fViewer.setInput(model.getRootElement());
//
// // Wait for the updates to complete and validate.
// while (!fListener.isFinished()) if (!fDisplay.readAndDispatch ()) Thread.sleep(0);
// model.validateData(fViewer, TreePath.EMPTY);
//
// InternalTreeModelViewer treeViewer = ((InternalTreeModelViewer)fViewer);
// TreePath elementPath = model.findElement("1");
// TestElement element = model.getElement(elementPath);
// boolean initialCheckState = element.getChecked();
// Event event = new Event();
// event.item = treeViewer.findItem(elementPath);
// event.detail = SWT.CHECK;
// event.display = fDisplay;
// event.type = SWT.Selection;
// event.widget = treeViewer.getControl();
// fDisplay.post(event);
//
// while (fDisplay.readAndDispatch ());
//
// Assert.assertTrue(element.getChecked() != initialCheckState);
// }
@Test
public void testCheckReceiver() throws Exception {
// Initial setup
TestModel model = TestModel.simpleSingleLevel();
fViewer.setAutoExpandLevel(-1);
// TreeModelViewerAutopopulateAgent autopopulateAgent = new
// TreeModelViewerAutopopulateAgent(fViewer);
fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
fViewer.setInput(model.getRootElement());

waitWhile(t -> !fListener.isFinished(), createListenerErrorMessage());
model.validateData(fViewer, TreePath.EMPTY);

TestElement element = model.getRootElement().getChildren()[0];
boolean initialCheckState = element.getChecked();
TreePath elementPath = new TreePath(new Object[] { element });
ModelDelta delta = model.setElementChecked(elementPath, true, false);

fListener.reset(elementPath, element, -1, true, false);
model.postDelta(delta);

waitWhile(t -> !fListener.isFinished(ITestModelUpdatesListenerConstants.MODEL_CHANGED_COMPLETE), createListenerErrorMessage());

Assert.assertTrue(element.getChecked() != initialCheckState);
}

@Test
public void testUpdateCheck() throws Exception {
//TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
Expand Down

0 comments on commit 5953747

Please sign in to comment.