package com.vaadin.tests.server.component.ui;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import org.junit.Test;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Component;
import com.vaadin.ui.Label;
import com.vaadin.ui.LegacyWindow;
public class LegacyUIAddRemoveComponentsTest {
private static class TestUI extends LegacyWindow {
@Override
protected void init(VaadinRequest request) {
}
}
@Test
public void addComponent() {
TestUI ui = new TestUI();
Component c = new Label("abc");
ui.addComponent(c);
assertSame(c.getParent(), ui.iterator().next());
assertSame(c, ui.getContent().iterator().next());
assertEquals(1, ui.getComponentCount());
assertEquals(1, ui.getContent().getComponentCount());
}
@Test
public void removeComponent() {
TestUI ui = new TestUI();
Component c = new Label("abc");
ui.addComponent(c);
ui.removeComponent(c);
assertEquals(ui.getContent(), ui.iterator().next());
assertFalse(ui.getContent().iterator().hasNext());
assertEquals(1, ui.getComponentCount());
assertEquals(0, ui.getContent().getComponentCount());
}
@Test
public void replaceComponent() {
TestUI ui = new TestUI();
Component c = new Label("abc");
Component d = new Label("def");
ui.addComponent(c);
ui.replaceComponent(c, d);
assertSame(d.getParent(), ui.iterator().next());
assertSame(d, ui.getContent().iterator().next());
assertEquals(1, ui.getComponentCount());
assertEquals(1, ui.getContent().getComponentCount());
}
}