package com.vaadin.tests.server.components; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; import org.junit.Test; import com.vaadin.ui.GridLayout; import com.vaadin.ui.Label; public class GridLayoutLastRowRemovalTest { @Test public void testRemovingLastRow() { GridLayout grid = new GridLayout(2, 1); grid.addComponent(new Label("Col1")); grid.addComponent(new Label("Col2")); try { // Removing the last row in the grid grid.removeRow(0); } catch (IllegalArgumentException iae) { // Removing the last row should not throw an // IllegalArgumentException fail("removeRow(0) threw an IllegalArgumentExcetion when removing the last row"); } // The column amount should be preserved assertEquals(2, grid.getColumns()); // There should be one row left assertEquals(1, grid.getRows()); // There should be no component left in the grid layout assertNull("A component should not be left in the layout", grid.getComponent(0, 0)); assertNull("A component should not be left in the layout", grid.getComponent(1, 0)); // The cursor should be in the first cell assertEquals(0, grid.getCursorX()); assertEquals(0, grid.getCursorY()); } }