/*
* 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.tests.server.component.abstractsplitpanel;
import org.junit.Test;
import com.vaadin.server.Sizeable.Unit;
import com.vaadin.tests.design.DeclarativeTestBase;
import com.vaadin.ui.AbstractSplitPanel;
import com.vaadin.ui.Button;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.HorizontalSplitPanel;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.VerticalSplitPanel;
/**
* Tests declarative support for AbstractSplitPanel.
*
* @since
* @author Vaadin Ltd
*/
public class AbstractSplitPanelDeclarativeTest
extends DeclarativeTestBase<AbstractSplitPanel> {
@Test
public void testWithBothChildren() {
String design = "<vaadin-horizontal-split-panel split-position=20.5% "
+ "min-split-position=20% max-split-position=50px locked "
+ "reversed> <vaadin-horizontal-layout /> <vaadin-vertical-layout />"
+ "</vaadin-horizontal-split-panel>";
AbstractSplitPanel sp = new HorizontalSplitPanel();
sp.setSplitPosition(20.5f, Unit.PERCENTAGE, true);
sp.setMinSplitPosition(20, Unit.PERCENTAGE);
sp.setMaxSplitPosition(50, Unit.PIXELS);
sp.setLocked(true);
sp.addComponent(new HorizontalLayout());
sp.addComponent(new VerticalLayout());
testRead(design, sp);
testWrite(design, sp);
}
@Test
public void testWithFirstChild() {
String design = "<vaadin-vertical-split-panel><vaadin-horizontal-layout caption=\"First slot\"/>"
+ "</vaadin-vertical-split-panel>";
AbstractSplitPanel sp = new VerticalSplitPanel();
HorizontalLayout t = new HorizontalLayout();
t.setCaption("First slot");
sp.addComponent(t);
testRead(design, sp);
testWrite(design, sp);
}
@Test
public void testWithSecondChild() {
String design = "<vaadin-horizontal-split-panel><vaadin-button :second>Second slot</vaadin-button>"
+ "</vaadin-vertical-split-panel>";
AbstractSplitPanel sp = new HorizontalSplitPanel();
Button b = new Button("Second slot");
b.setCaptionAsHtml(true);
sp.setSecondComponent(b);
testRead(design, sp);
testWrite(design, sp);
}
@Test
public void testEmpty() {
String design = "<vaadin-horizontal-split-panel/>";
AbstractSplitPanel sp = new HorizontalSplitPanel();
testRead(design, sp);
testWrite(design, sp);
}
}