/*
* 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.combobox;
import org.junit.Test;
import com.vaadin.tests.design.DeclarativeTestBase;
import com.vaadin.v7.shared.ui.combobox.FilteringMode;
import com.vaadin.v7.ui.ComboBox;
public class ComboBoxDeclarativeTest extends DeclarativeTestBase<ComboBox> {
@Test
public void testReadOnlyWithOptionsRead() {
testRead(getReadOnlyWithOptionsDesign(),
getReadOnlyWithOptionsExpected());
}
private ComboBox getReadOnlyWithOptionsExpected() {
ComboBox cb = new ComboBox();
cb.setTextInputAllowed(false);
cb.addItem("Hello");
cb.addItem("World");
return cb;
}
private String getReadOnlyWithOptionsDesign() {
return "<vaadin7-combo-box text-input-allowed='false'><option>Hello</option><option>World</option></vaadin7-combo-box>";
}
@Test
public void testReadOnlyWithOptionsWrite() {
testWrite(stripOptionTags(getReadOnlyWithOptionsDesign()),
getReadOnlyWithOptionsExpected());
}
@Test
public void testBasicRead() {
testRead(getBasicDesign(), getBasicExpected());
}
@Test
public void testBasicWrite() {
testWrite(getBasicDesign(), getBasicExpected());
}
@Test
public void testReadOnlyValue() {
String design = "<vaadin7-combo-box readonly value='foo'><option selected>foo</option></vaadin7-combo-box>";
ComboBox comboBox = new ComboBox();
comboBox.addItems("foo", "bar");
comboBox.setValue("foo");
comboBox.setReadOnly(true);
testRead(design, comboBox);
// Selects items are not written out by default
String design2 = "<vaadin7-combo-box readonly></vaadin7-combo-box>";
testWrite(design2, comboBox);
}
private String getBasicDesign() {
return "<vaadin7-combo-box input-prompt=\"Select something\" filtering-mode=\"off\" scroll-to-selected-item='false'>";
}
private ComboBox getBasicExpected() {
ComboBox cb = new ComboBox();
cb.setInputPrompt("Select something");
cb.setTextInputAllowed(true);
cb.setFilteringMode(FilteringMode.OFF);
cb.setScrollToSelectedItem(false);
return cb;
}
}