blob: 868fe50f0af9b37c94976d067b3d84f99985e1cb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Tom Schindl - bug 151205
*******************************************************************************/
package org.eclipse.jface.tests.viewers;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Tree;
public class VirtualLazyTreeViewerTest extends TreeViewerTest {
protected int setDataCalls = 0;
public VirtualLazyTreeViewerTest(String name) {
super(name);
}
protected StructuredViewer createViewer(Composite parent) {
Tree tree = new Tree(parent, SWT.VIRTUAL);
tree.addListener(SWT.SetData, new Listener(){
public void handleEvent(Event event) {
setDataCalls++;
}});
fTreeViewer = new TreeViewer(tree);
fTreeViewer.setContentProvider(new TestModelLazyTreeContentProvider((TreeViewer) fTreeViewer));
return fTreeViewer;
}
public void setUp() {
super.setUp();
// process events because the content provider uses an asyncExec to set the item count of the tree
processEvents();
}
protected void setInput() {
super.setInput();
}
public void tearDown() {
super.tearDown();
// System.out.println("calls: " + setDataCalls);
}
public void testLeafIsExpandable() {
TestElement leafElement = fRootElement.getChildAt(2).getChildAt(3).getChildAt(2);
assertEquals(0, leafElement.getChildCount());
assertFalse(fTreeViewer.isExpandable(leafElement));
}
public void testRootIsExpandable() {
TestElement rootElement = fRootElement.getChildAt(2);
assertTrue(rootElement.getChildCount() > 0);
assertTrue(fTreeViewer.isExpandable(rootElement));
}
public void testNodeIsExpandable() {
TestElement nodeElement = fRootElement.getChildAt(2).getChildAt(3);
assertTrue(nodeElement.getChildCount() > 0);
assertTrue(fTreeViewer.isExpandable(nodeElement));
}
public void testRefreshWithDuplicateChild() {
// Test leads to infinite loop. Duplicate children are a bad idea in virtual trees.
}
public void testSetExpandedWithCycle() {
// Test leads to infinite loop. Cycles are a bad idea in virtual trees.
}
public void testFilterExpanded() {
// no need to test since virtual trees do not support filtering
}
public void testFilter() {
// no need to test since virtual trees do not support filtering
}
public void testSetFilters() {
// no need to test since virtual trees do not support filtering
}
public void testInsertSiblingWithFilterFiltered() {
// no need to test since virtual trees do not support filtering
}
public void testInsertSiblingWithFilterNotFiltered() {
// no need to test since virtual trees do not support filtering
}
public void testInsertSiblingWithSorter() {
// no need to test since virtual trees do not support sorting
}
public void testRenameWithFilter() {
// no need to test since virtual trees do not support filtering
}
public void testRenameWithSorter() {
// no need to test since virtual trees do not support sorting
}
public void testSorter() {
// no need to test since virtual trees do not support sorting
}
}