/* * Copyright 2000-2016 Vaadin Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.vaadin.v7.tests.server.component.treetable; import java.util.EnumSet; import org.junit.Assert; import org.junit.Test; import com.vaadin.v7.shared.ui.treetable.TreeTableState; import com.vaadin.v7.ui.Table.RowHeaderMode; import com.vaadin.v7.ui.TreeTable; /** * Tests for {@link TreeTable} * * @author Vaadin Ltd */ public class TreeTableTest { @Test public void rowHeadersAreEnabled_iconRowHeaderMode_rowHeadersAreDisabled() { TestTreeTable tree = new TestTreeTable(); tree.setRowHeaderMode(RowHeaderMode.ICON_ONLY); Assert.assertFalse("Row headers are enabled for Icon header mode", tree.rowHeadersAreEnabled()); } @Test public void rowHeadersAreEnabled_hiddenRowHeaderMode_rowHeadersAreDisabled() { TestTreeTable tree = new TestTreeTable(); tree.setRowHeaderMode(RowHeaderMode.HIDDEN); Assert.assertFalse("Row headers are enabled for Hidden header mode", tree.rowHeadersAreEnabled()); } @Test public void rowHeadersAreEnabled_otherRowHeaderModes_rowHeadersAreEnabled() { TestTreeTable tree = new TestTreeTable(); EnumSet<RowHeaderMode> modes = EnumSet.allOf(RowHeaderMode.class); modes.remove(RowHeaderMode.ICON_ONLY); modes.remove(RowHeaderMode.HIDDEN); for (RowHeaderMode mode : modes) { tree.setRowHeaderMode(mode); Assert.assertTrue( "Row headers are disabled for " + mode + " header mode", tree.rowHeadersAreEnabled()); } } @Test public void getState_treeTableHasCustomState() { TestTreeTable table = new TestTreeTable(); TreeTableState state = table.getState(); Assert.assertEquals("Unexpected state class", TreeTableState.class, state.getClass()); } @Test public void getPrimaryStyleName_treeTableHasCustomPrimaryStyleName() { TreeTable table = new TreeTable(); TreeTableState state = new TreeTableState(); Assert.assertEquals("Unexpected primary style name", state.primaryStyleName, table.getPrimaryStyleName()); } @Test public void treeTableStateHasCustomPrimaryStyleName() { TreeTableState state = new TreeTableState(); Assert.assertEquals("Unexpected primary style name", "v-table", state.primaryStyleName); } private static class TestTreeTable extends TreeTable { @Override protected boolean rowHeadersAreEnabled() { return super.rowHeadersAreEnabled(); } @Override public TreeTableState getState() { return super.getState(); } } }