1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-09 10:46:02 +02:00

JUnit-Tests: more reliable checking of asynchronous viewers.

This commit is contained in:
Markus Schorn 2007-08-30 09:42:30 +00:00
parent 4d7f508f83
commit 3dd82904da

View file

@ -301,26 +301,31 @@ public class BaseUITestCase extends BaseTestCase {
final protected TreeItem checkTreeNode(Tree tree, int i0, int i1, String label) { final protected TreeItem checkTreeNode(Tree tree, int i0, int i1, String label) {
TreeItem item= null; TreeItem item= null;
TreeItem root= tree.getItem(i0); TreeItem root= tree.getItem(i0);
String itemText= null;
for (int i=0; i<400; i++) { for (int i=0; i<400; i++) {
try { try {
item= null; TreeItem firstItem= root.getItem(0);
item= root.getItem(i1); final String text= firstItem.getText();
if (!"...".equals(item.getText())) { if (text.length() > 0 && !text.equals("...")) {
break; item= root.getItem(i1);
assertNotNull("Unexpected tree node " + item.getText(), label);
assertEquals(label, item.getText());
return item;
} }
} catch (SWTException e) {
// in case widget was disposed, item may be replaced
} }
catch (IllegalArgumentException e) { catch (IllegalArgumentException e) {
if (label == null) { if (label != null) {
return null; fail("Tree node " + label + "{" + i0 + "," + i1 + "} does not exist!");
} }
return null;
}
catch (SWTException e) {
// widget was disposed, try again.
root= tree.getItem(i0);
} }
runEventQueue(10); runEventQueue(10);
} }
assertNotNull("Tree node " + label + "{" + i0 + "," + i1 + "} does not exist!", item); fail("Timeout expired waiting for tree node " + label + "{" + i0 + "," + i1 + "}");
assertNotNull("Unexpected tree node " + item.getText(), label); return null;
assertEquals(label, item.getText());
return item;
} }
} }