blob: c6ca910be1f16fb06cfdc230d74e7923b8a68199 [file] [log] [blame]
//Copyright 2006 Google Inc. All Rights Reserved.
package com.google.gwt.user.client.ui;
import com.google.gwt.junit.client.GWTTestCase;
import java.util.Iterator;
public class TabPanelTest extends GWTTestCase {
public String getModuleName() {
return "com.google.gwt.user.User";
}
public void testInsertWithHTML() {
TabPanel p = new TabPanel();
Label l = new Label();
p.add(l, "three");
p.insert(new HTML("<b>hello</b>"), "two", true, 0);
p.insert(new HTML("goodbye"), "one", false, 0);
assertEquals(3, p.getWidgetCount());
}
public void testSelectionEvents() {
TabPanel p = new TabPanel();
RootPanel.get().add(p);
p.add(new Button("foo"), "foo");
p.add(new Button("bar"), "bar");
// Make sure selecting a tab fires both events in the right order.
p.addTabListener(new TabListener() {
private boolean onBeforeFired;
public void onTabSelected(SourcesTabEvents sender, int tabIndex) {
assertTrue(onBeforeFired);
finishTest();
}
public boolean onBeforeTabSelected(SourcesTabEvents sender, int tabIndex) {
onBeforeFired = true;
return true;
}
});
this.delayTestFinish(1000);
p.selectTab(1);
}
public void testIterator() {
TabPanel p = new TabPanel();
HTML foo = new HTML("foo");
HTML bar = new HTML("bar");
HTML baz = new HTML("baz");
p.add(foo, "foo");
p.add(bar, "bar");
p.add(baz, "baz");
// Iterate over the entire set and make sure it stops correctly.
Iterator it = p.iterator();
assertTrue(it.hasNext());
assertTrue(it.next() == foo);
assertTrue(it.hasNext());
assertTrue(it.next() == bar);
assertTrue(it.hasNext());
assertTrue(it.next() == baz);
assertFalse(it.hasNext());
// Test removing using the iterator.
it = p.iterator();
it.next();
it.remove();
assertTrue(it.next() == bar);
assertTrue(p.getWidgetCount() == 2);
assertTrue(p.getWidget(0) == bar);
assertTrue(p.getWidget(1) == baz);
}
}