Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/VirtualTableViewerTest.java51
1 files changed, 30 insertions, 21 deletions
diff --git a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/VirtualTableViewerTest.java b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/VirtualTableViewerTest.java
index 67f0f23e0bb..d8122e6a526 100644
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/VirtualTableViewerTest.java
+++ b/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/VirtualTableViewerTest.java
@@ -15,6 +15,10 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
@@ -22,11 +26,6 @@ import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
/**
* The TableViewerTest is a test of the SWT#VIRTUAL support in TableViewers,
*/
@@ -86,6 +85,20 @@ public class VirtualTableViewerTest extends TableViewerTest {
});
return viewer;
}
+
+ /**
+ * Checks if update occurred. Updates for virtual items will be skipped
+ * if, for instance, another window is in the foreground.
+ * @return <code>true</code> if update occurred
+ */
+ protected boolean updateTable() {
+ setDataCalled = false;
+ ((TableViewer) fViewer).getControl().update();
+ if (setDataCalled)
+ return true;
+ System.err.println("SWT.SetData is not received. Cancelled test " + getName());
+ return false;
+ }
/**
* Get the collection of currently visible table items.
@@ -122,43 +135,38 @@ public class VirtualTableViewerTest extends TableViewerTest {
* @see org.eclipse.jface.tests.viewers.StructuredViewerTest#testFilter()
*/
public void testFilter() {
- if (!setDataCalled) {
- System.err.println("SWT.SetData is not received. Cancelled test " + getName());
- return;
- }
ViewerFilter filter = new TestLabelFilter();
-
visibleItems = new HashSet();
fViewer.addFilter(filter);
- ((TableViewer) fViewer).getControl().update();
+ if (!updateTable())
+ return;
assertEquals("filtered count", 5, getItemCount());
visibleItems = new HashSet();
fViewer.removeFilter(filter);
- ((TableViewer) fViewer).getControl().update();
+ if (!updateTable())
+ return;
assertEquals("unfiltered count", 10, getItemCount());
}
public void testSetFilters() {
- if (!setDataCalled) {
- System.err.println("SWT.SetData is not received. Cancelled test " + getName());
- return;
- }
ViewerFilter filter = new TestLabelFilter();
-
visibleItems = new HashSet();
fViewer.setFilters(new ViewerFilter[] { filter, new TestLabelFilter2() });
- ((TableViewer) fViewer).getControl().update();
+ if (!updateTable())
+ return;
assertEquals("2 filters count",1, getItemCount());
visibleItems = new HashSet();
fViewer.setFilters(new ViewerFilter[] { filter });
- ((TableViewer) fViewer).getControl().update();
+ if (!updateTable())
+ return;
assertEquals("1 filtered count",5, getItemCount());
visibleItems = new HashSet();
fViewer.setFilters(new ViewerFilter[0]);
- ((TableViewer) fViewer).getControl().update();
+ if (!updateTable())
+ return;
assertEquals("unfiltered count",10, getItemCount());
}
/*
@@ -238,7 +246,8 @@ public class VirtualTableViewerTest extends TableViewerTest {
return;
}
fViewer.addFilter(new TestLabelFilter());
- ((TableViewer) fViewer).getControl().update();
+ if (!updateTable())
+ return;
TestElement first = fRootElement.getFirstChild();
first.setLabel("name-1111"); // should disappear
((TableViewer) fViewer).getControl().update();

Back to the top