diff options
author | Artur Signell <artur@vaadin.com> | 2016-08-18 21:51:13 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2016-08-20 00:08:46 +0300 |
commit | 34852cdb88c6c27b1341684204d78db0fdd061a6 (patch) | |
tree | f55c6f9d900167a57c7eb2c96c25e1dfe0451dd8 /server | |
parent | 6e0f2efe996cfd3b38c960e04cbced0a91215cf0 (diff) | |
download | vaadin-framework-34852cdb88c6c27b1341684204d78db0fdd061a6.tar.gz vaadin-framework-34852cdb88c6c27b1341684204d78db0fdd061a6.zip |
Move selects to compatibility package
Change-Id: I7ee02d34b230e8752174a7f19824f81cbb616c33
Diffstat (limited to 'server')
21 files changed, 0 insertions, 1930 deletions
diff --git a/server/src/main/java/com/vaadin/ui/ListSelect.java b/server/src/main/java/com/vaadin/ui/ListSelect.java deleted file mode 100644 index 9a720d1895..0000000000 --- a/server/src/main/java/com/vaadin/ui/ListSelect.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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.ui; - -import java.util.Collection; - -import com.vaadin.data.Container; -import com.vaadin.server.PaintException; -import com.vaadin.server.PaintTarget; - -/** - * This is a simple list select without, for instance, support for new items, - * lazyloading, and other advanced features. - */ -@SuppressWarnings("serial") -public class ListSelect extends AbstractSelect { - - private int rows = 0; - - public ListSelect() { - super(); - } - - public ListSelect(String caption, Collection<?> options) { - super(caption, options); - } - - public ListSelect(String caption, Container dataSource) { - super(caption, dataSource); - } - - public ListSelect(String caption) { - super(caption); - } - - public int getRows() { - return rows; - } - - /** - * Sets the number of rows in the editor. If the number of rows is set 0, - * the actual number of displayed rows is determined implicitly by the - * adapter. - * - * @param rows - * the number of rows to set. - */ - public void setRows(int rows) { - if (rows < 0) { - rows = 0; - } - if (this.rows != rows) { - this.rows = rows; - markAsDirty(); - } - } - - @Override - public void paintContent(PaintTarget target) throws PaintException { - // Adds the number of rows - if (rows != 0) { - target.addAttribute("rows", rows); - } - super.paintContent(target); - } -} diff --git a/server/src/main/java/com/vaadin/ui/NativeSelect.java b/server/src/main/java/com/vaadin/ui/NativeSelect.java deleted file mode 100644 index 13556a0387..0000000000 --- a/server/src/main/java/com/vaadin/ui/NativeSelect.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * 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.ui; - -import java.util.Collection; - -import com.vaadin.data.Container; -import com.vaadin.event.FieldEvents; -import com.vaadin.event.FieldEvents.BlurEvent; -import com.vaadin.event.FieldEvents.BlurListener; -import com.vaadin.event.FieldEvents.FocusAndBlurServerRpcImpl; -import com.vaadin.event.FieldEvents.FocusEvent; -import com.vaadin.event.FieldEvents.FocusListener; - -/** - * This is a simple drop-down select without, for instance, support for - * multiselect, new items, lazyloading, and other advanced features. Sometimes - * "native" select without all the bells-and-whistles of the ComboBox is a - * better choice. - */ -@SuppressWarnings("serial") -public class NativeSelect extends AbstractSelect - implements FieldEvents.BlurNotifier, FieldEvents.FocusNotifier { - - FocusAndBlurServerRpcImpl focusBlurRpc = new FocusAndBlurServerRpcImpl( - this) { - - @Override - protected void fireEvent(Event event) { - NativeSelect.this.fireEvent(event); - } - }; - - public NativeSelect() { - super(); - registerRpc(focusBlurRpc); - } - - public NativeSelect(String caption, Collection<?> options) { - super(caption, options); - registerRpc(focusBlurRpc); - } - - public NativeSelect(String caption, Container dataSource) { - super(caption, dataSource); - registerRpc(focusBlurRpc); - } - - public NativeSelect(String caption) { - super(caption); - registerRpc(focusBlurRpc); - } - - @Override - public void setMultiSelect(boolean multiSelect) - throws UnsupportedOperationException { - if (multiSelect == true) { - throw new UnsupportedOperationException( - "Multiselect not supported"); - } - } - - @Override - public void setNewItemsAllowed(boolean allowNewOptions) - throws UnsupportedOperationException { - if (allowNewOptions == true) { - throw new UnsupportedOperationException( - "newItemsAllowed not supported"); - } - } - - @Override - public void addFocusListener(FocusListener listener) { - addListener(FocusEvent.EVENT_ID, FocusEvent.class, listener, - FocusListener.focusMethod); - } - - @Override - public void removeFocusListener(FocusListener listener) { - removeListener(FocusEvent.EVENT_ID, FocusEvent.class, listener); - } - - @Override - public void addBlurListener(BlurListener listener) { - addListener(BlurEvent.EVENT_ID, BlurEvent.class, listener, - BlurListener.blurMethod); - } - - @Override - public void removeBlurListener(BlurListener listener) { - removeListener(BlurEvent.EVENT_ID, BlurEvent.class, listener); - } - -} diff --git a/server/src/main/java/com/vaadin/ui/OptionGroup.java b/server/src/main/java/com/vaadin/ui/OptionGroup.java deleted file mode 100644 index 3e491906d5..0000000000 --- a/server/src/main/java/com/vaadin/ui/OptionGroup.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * 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.ui; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import org.jsoup.nodes.Element; - -import com.vaadin.data.Container; -import com.vaadin.event.FieldEvents; -import com.vaadin.event.FieldEvents.BlurEvent; -import com.vaadin.event.FieldEvents.BlurListener; -import com.vaadin.event.FieldEvents.FocusEvent; -import com.vaadin.event.FieldEvents.FocusListener; -import com.vaadin.server.PaintException; -import com.vaadin.server.PaintTarget; -import com.vaadin.shared.ui.optiongroup.OptionGroupConstants; -import com.vaadin.shared.ui.optiongroup.OptionGroupState; -import com.vaadin.ui.declarative.DesignContext; -import com.vaadin.ui.declarative.DesignFormatter; - -/** - * Configures select to be used as an option group. - */ -@SuppressWarnings("serial") -public class OptionGroup extends AbstractSelect - implements FieldEvents.BlurNotifier, FieldEvents.FocusNotifier { - - private Set<Object> disabledItemIds = new HashSet<Object>(); - - public OptionGroup() { - super(); - } - - public OptionGroup(String caption, Collection<?> options) { - super(caption, options); - } - - public OptionGroup(String caption, Container dataSource) { - super(caption, dataSource); - } - - public OptionGroup(String caption) { - super(caption); - } - - @Override - protected void paintItem(PaintTarget target, Object itemId) - throws PaintException { - super.paintItem(target, itemId); - if (!isItemEnabled(itemId)) { - target.addAttribute(OptionGroupConstants.ATTRIBUTE_OPTION_DISABLED, - true); - } - } - - @Override - public void changeVariables(Object source, Map<String, Object> variables) { - super.changeVariables(source, variables); - - if (variables.containsKey(FocusEvent.EVENT_ID)) { - fireEvent(new FocusEvent(this)); - } - if (variables.containsKey(BlurEvent.EVENT_ID)) { - fireEvent(new BlurEvent(this)); - } - } - - @Override - public void addBlurListener(BlurListener listener) { - addListener(BlurEvent.EVENT_ID, BlurEvent.class, listener, - BlurListener.blurMethod); - } - - @Override - public void removeBlurListener(BlurListener listener) { - removeListener(BlurEvent.EVENT_ID, BlurEvent.class, listener); - } - - @Override - public void addFocusListener(FocusListener listener) { - addListener(FocusEvent.EVENT_ID, FocusEvent.class, listener, - FocusListener.focusMethod); - } - - @Override - public void removeFocusListener(FocusListener listener) { - removeListener(FocusEvent.EVENT_ID, FocusEvent.class, listener); - - } - - @Override - protected void setValue(Object newValue, boolean repaintIsNotNeeded) { - if (repaintIsNotNeeded) { - /* - * Check that value from changeVariables() doesn't contain unallowed - * selections: In the multi select mode, the user has selected or - * deselected a disabled item. In the single select mode, the user - * has selected a disabled item. - */ - if (isMultiSelect()) { - Set<?> currentValueSet = (Set<?>) getValue(); - Set<?> newValueSet = (Set<?>) newValue; - for (Object itemId : currentValueSet) { - if (!isItemEnabled(itemId) - && !newValueSet.contains(itemId)) { - markAsDirty(); - return; - } - } - for (Object itemId : newValueSet) { - if (!isItemEnabled(itemId) - && !currentValueSet.contains(itemId)) { - markAsDirty(); - return; - } - } - } else { - if (newValue == null) { - newValue = getNullSelectionItemId(); - } - if (!isItemEnabled(newValue)) { - markAsDirty(); - return; - } - } - } - super.setValue(newValue, repaintIsNotNeeded); - } - - /** - * Sets an item disabled or enabled. In the multiselect mode, a disabled - * item cannot be selected or deselected by the user. In the single - * selection mode, a disable item cannot be selected. - * - * However, programmatical selection or deselection of an disable item is - * possible. By default, items are enabled. - * - * @param itemId - * the id of the item to be disabled or enabled - * @param enabled - * if true the item is enabled, otherwise the item is disabled - */ - public void setItemEnabled(Object itemId, boolean enabled) { - if (itemId != null) { - if (enabled) { - disabledItemIds.remove(itemId); - } else { - disabledItemIds.add(itemId); - } - markAsDirty(); - } - } - - /** - * Returns true if the item is enabled. - * - * @param itemId - * the id of the item to be checked - * @return true if the item is enabled, false otherwise - * @see #setItemEnabled(Object, boolean) - */ - public boolean isItemEnabled(Object itemId) { - if (itemId != null) { - return !disabledItemIds.contains(itemId); - } - return true; - } - - /** - * Sets whether html is allowed in the item captions. If set to true, the - * captions are passed to the browser as html and the developer is - * responsible for ensuring no harmful html is used. If set to false, the - * content is passed to the browser as plain text. - * - * @param htmlContentAllowed - * true if the captions are used as html, false if used as plain - * text - */ - public void setHtmlContentAllowed(boolean htmlContentAllowed) { - getState().htmlContentAllowed = htmlContentAllowed; - } - - /** - * Checks whether captions are interpreted as html or plain text. - * - * @return true if the captions are used as html, false if used as plain - * text - * @see #setHtmlContentAllowed(boolean) - */ - public boolean isHtmlContentAllowed() { - return getState(false).htmlContentAllowed; - } - - @Override - protected Object readItem(Element child, Set<String> selected, - DesignContext context) { - Object itemId = super.readItem(child, selected, context); - - if (child.hasAttr("disabled")) { - setItemEnabled(itemId, false); - } - - return itemId; - } - - @Override - protected Element writeItem(Element design, Object itemId, - DesignContext context) { - Element elem = super.writeItem(design, itemId, context); - - if (!isItemEnabled(itemId)) { - elem.attr("disabled", ""); - } - if (isHtmlContentAllowed()) { - // need to unencode HTML entities. AbstractSelect.writeDesign can't - // check if HTML content is allowed, so it always encodes entities - // like '>', '<' and '&'; in case HTML content is allowed this is - // undesirable so we need to unencode entities. Entities other than - // '<' and '>' will be taken care by Jsoup. - elem.html(DesignFormatter.decodeFromTextNode(elem.html())); - } - - return elem; - } - - @Override - protected OptionGroupState getState() { - return (OptionGroupState) super.getState(); - } - - @Override - protected OptionGroupState getState(boolean markAsDirty) { - return (OptionGroupState) super.getState(markAsDirty); - } -} diff --git a/server/src/main/java/com/vaadin/ui/Select.java b/server/src/main/java/com/vaadin/ui/Select.java deleted file mode 100644 index 66b36f8ac2..0000000000 --- a/server/src/main/java/com/vaadin/ui/Select.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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.ui; - -import java.util.Collection; - -import com.vaadin.data.Container; - -/** - * <p> - * A class representing a selection of items the user has selected in a UI. The - * set of choices is presented as a set of {@link com.vaadin.data.Item}s in a - * {@link com.vaadin.data.Container}. - * </p> - * - * <p> - * A <code>Select</code> component may be in single- or multiselect mode. - * Multiselect mode means that more than one item can be selected - * simultaneously. - * </p> - * - * @author Vaadin Ltd. - * @since 3.0 - * @deprecated As of 7.0. Use {@link ComboBox} instead. - */ -@Deprecated -public class Select extends ComboBox { - /* Component methods */ - - public Select() { - super(); - } - - public Select(String caption, Collection<?> options) { - super(caption, options); - } - - public Select(String caption, Container dataSource) { - super(caption, dataSource); - } - - public Select(String caption) { - super(caption); - } - -} diff --git a/server/src/test/java/com/vaadin/tests/design/ParseAllSupportedComponentsTest.java b/server/src/test/java/com/vaadin/tests/design/ParseAllSupportedComponentsTest.java deleted file mode 100644 index 6694372539..0000000000 --- a/server/src/test/java/com/vaadin/tests/design/ParseAllSupportedComponentsTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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.design; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.MatcherAssert.assertThat; - -import java.io.FileNotFoundException; - -import org.junit.Test; - -import com.vaadin.ui.declarative.Design; -import com.vaadin.ui.declarative.DesignContext; - -/** - * Just top level test case that contains all synchronizable components - * - * @author Vaadin Ltd - */ -public class ParseAllSupportedComponentsTest { - - @Test - public void allComponentsAreParsed() throws FileNotFoundException { - DesignContext ctx = Design.read( - getClass().getResourceAsStream("all-components.html"), null); - - assertThat(ctx, is(not(nullValue()))); - assertThat(ctx.getRootComponent(), is(not(nullValue()))); - } -} diff --git a/server/src/test/java/com/vaadin/tests/design/ParseLegacyPrefixTest.java b/server/src/test/java/com/vaadin/tests/design/ParseLegacyPrefixTest.java deleted file mode 100644 index 5dd21b35f8..0000000000 --- a/server/src/test/java/com/vaadin/tests/design/ParseLegacyPrefixTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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.design; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.MatcherAssert.assertThat; - -import java.io.FileNotFoundException; - -import org.junit.Test; - -import com.vaadin.ui.declarative.Design; -import com.vaadin.ui.declarative.DesignContext; - -/** - * Test reading a design with all components using the legacy prefix. - */ -public class ParseLegacyPrefixTest { - - @Test - public void allComponentsAreParsed() throws FileNotFoundException { - DesignContext ctx = Design.read( - getClass().getResourceAsStream("all-components-legacy.html"), - null); - - assertThat(ctx, is(not(nullValue()))); - assertThat(ctx.getRootComponent(), is(not(nullValue()))); - } -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java deleted file mode 100644 index 9a8777909f..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectDeclarativeTest.java +++ /dev/null @@ -1,306 +0,0 @@ -/* - * 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.abstractselect; - -import org.jsoup.nodes.Attributes; -import org.jsoup.nodes.Element; -import org.jsoup.parser.Tag; -import org.junit.Assert; -import org.junit.Test; - -import com.vaadin.data.Container; -import com.vaadin.data.util.IndexedContainer; -import com.vaadin.server.ExternalResource; -import com.vaadin.server.Resource; -import com.vaadin.tests.design.DeclarativeTestBase; -import com.vaadin.tests.design.DeclarativeTestBaseBase; -import com.vaadin.ui.AbstractSelect; -import com.vaadin.ui.AbstractSelect.ItemCaptionMode; -import com.vaadin.ui.ComboBox; -import com.vaadin.ui.ListSelect; -import com.vaadin.ui.declarative.DesignContext; -import com.vaadin.ui.declarative.DesignException; - -/** - * Test cases for reading the properties of selection components. - * - * @author Vaadin Ltd - */ -public class AbstractSelectDeclarativeTest - extends DeclarativeTestBase<AbstractSelect> { - - public String getDesignSingleSelectNewItemsAllowed() { - return "<vaadin-combo-box new-items-allowed item-caption-mode='icon_only'" - + " null-selection-item-id='nullIid'/>"; - - } - - public AbstractSelect getExpectedSingleSelectNewItemsAllowed() { - ComboBox c = new ComboBox(); - c.setNewItemsAllowed(true); - c.setItemCaptionMode(ItemCaptionMode.ICON_ONLY); - c.setNullSelectionAllowed(true);// Default - c.setNullSelectionItemId("nullIid"); - return c; - } - - public String getDesignMultiSelect() { - return "<vaadin-list-select multi-select null-selection-allowed='false' new-items-allowed item-caption-mode='property' />"; - } - - public AbstractSelect getExpectedMultiSelect() { - ListSelect c = new ListSelect(); - c.setNewItemsAllowed(true); - c.setNullSelectionAllowed(false); - c.setItemCaptionMode(ItemCaptionMode.PROPERTY); - c.setMultiSelect(true); - return c; - } - - @Test - public void testReadSingleSelectNewItemsAllowed() { - testRead(getDesignSingleSelectNewItemsAllowed(), - getExpectedSingleSelectNewItemsAllowed()); - } - - @Test - public void testWriteSingleSelectNewItemsAllowed() { - testWrite(getDesignSingleSelectNewItemsAllowed(), - getExpectedSingleSelectNewItemsAllowed()); - } - - @Test - public void testReadMultiSelect() { - testRead(getDesignMultiSelect(), getExpectedMultiSelect()); - } - - @Test - public void testWriteMultiSelect() { - testWrite(getDesignMultiSelect(), getExpectedMultiSelect()); - } - - @Test - public void testReadInlineData() { - testRead(getDesignForInlineData(), getExpectedComponentForInlineData()); - } - - @Test(expected = DesignException.class) - public void testReadMultipleValuesForSingleSelect() { - testRead("<vaadin-list-select>" + "<option selected>1</option>" - + "<option selected>2</option>" + "</vaadin-list-select>", - null); - } - - @Test - public void testReadMultipleValuesForMultiSelect() { - ListSelect ls = new ListSelect(); - ls.setMultiSelect(true); - ls.addItem("1"); - ls.addItem("2"); - ls.select("1"); - ls.select("2"); - testRead("<vaadin-list-select multi-select>" - + "<option selected>1</option>" + "<option selected>2</option>" - + "</vaadin-list-select>", ls); - } - - @Test - public void testReadSingleValueForMultiSelect() { - ListSelect ls = new ListSelect(); - ls.setMultiSelect(true); - ls.addItem("1"); - ls.addItem("2"); - ls.select("1"); - testRead("<vaadin-list-select multi-select>" - + "<option selected>1</option>" + "<option>2</option>" - + "</vaadin-list-select>", ls); - } - - @Test - public void testReadSingleValueForSingleSelect() { - ListSelect ls = new ListSelect(); - ls.setMultiSelect(false); - ls.addItem("1"); - ls.addItem("2"); - ls.select("1"); - testRead("<vaadin-list-select>" + "<option selected>1</option>" - + "<option>2</option>" + "</vaadin-list-select>", ls); - } - - @Test - public void testWriteInlineDataIgnored() { - // No data is written by default - testWrite(stripOptionTags(getDesignForInlineData()), - getExpectedComponentForInlineData()); - } - - @Test - public void testWriteInlineData() { - testWrite(getDesignForInlineData(), getExpectedComponentForInlineData(), - true); - } - - private String getDesignForInlineData() { - return "<vaadin-list-select>\n" - + " <option icon='http://some.url/icon.png'>Value 1</option>\n" // - + " <option selected>Value 2</option>\n"// - + "</vaadin-list-select>"; - } - - private AbstractSelect getExpectedComponentForInlineData() { - AbstractSelect as = new ListSelect(); - as.addItem("Value 1"); - as.setItemIcon("Value 1", - new ExternalResource("http://some.url/icon.png")); - as.addItem("Value 2"); - as.setValue("Value 2"); - return as; - } - - @Test - public void testReadAttributesSingleSelect() { - Element design = createDesignWithAttributesSingleSelect(); - ComboBox cb = new ComboBox(); - IndexedContainer container = new IndexedContainer(); - container.addContainerProperty("icon", Resource.class, null); - container.addContainerProperty("name", String.class, null); - cb.setContainerDataSource(container); - cb.readDesign(design, new DesignContext()); - Assert.assertTrue("Adding new items should be allowed.", - cb.isNewItemsAllowed()); - assertEquals("Wrong item caption mode.", - AbstractSelect.ItemCaptionMode.PROPERTY, - cb.getItemCaptionMode()); - assertEquals("Wrong item caption property id.", "name", - cb.getItemCaptionPropertyId()); - assertEquals("Wrong item icon property id.", "icon", - cb.getItemIconPropertyId()); - Assert.assertTrue("Null selection should be allowed.", - cb.isNullSelectionAllowed()); - assertEquals("Wrong null selection item id.", "No items selected", - cb.getNullSelectionItemId()); - } - - @Test - public void testReadAttributesMultiSelect() { - Element design = createDesignWithAttributesMultiSelect(); - ListSelect ls = new ListSelect(); - ls.readDesign(design, new DesignContext()); - Assert.assertTrue("Multi select should be allowed.", - ls.isMultiSelect()); - assertEquals("Wrong caption mode.", - AbstractSelect.ItemCaptionMode.EXPLICIT, - ls.getItemCaptionMode()); - Assert.assertFalse("Null selection should not be allowed.", - ls.isNullSelectionAllowed()); - } - - private Element createDesignWithAttributesSingleSelect() { - Attributes attributes = new Attributes(); - attributes.put("new-items-allowed", true); - attributes.put("multi-select", "false"); - attributes.put("item-caption-mode", "property"); - attributes.put("item-caption-property-id", "name"); - attributes.put("item-icon-property-id", "icon"); - attributes.put("null-selection-allowed", true); - attributes.put("null-selection-item-id", "No items selected"); - return new Element(Tag.valueOf("vaadin-combo-box"), "", attributes); - } - - private Element createDesignWithAttributesMultiSelect() { - Attributes attributes = new Attributes(); - attributes.put("multi-select", true); - attributes.put("item-caption-mode", "EXPLICIT"); - attributes.put("null-selection-allowed", "false"); - return new Element(Tag.valueOf("vaadin-list-select"), "", attributes); - } - - @Test - public void testWriteAttributesSingleSelect() { - ComboBox cb = createSingleSelectWithOnlyAttributes(); - Element e = new Element(Tag.valueOf("vaadin-combo-box"), ""); - cb.writeDesign(e, new DesignContext()); - assertEquals("Wrong caption for the combo box.", "A combo box", - e.attr("caption")); - Assert.assertTrue("Adding new items should be allowed.", - "".equals(e.attr("new-items-allowed"))); - assertEquals("Wrong item caption mode.", "icon_only", - e.attr("item-caption-mode")); - assertEquals("Wrong item icon property id.", "icon", - e.attr("item-icon-property-id")); - Assert.assertTrue("Null selection should be allowed.", - "".equals(e.attr("null-selection-allowed")) - || "true".equals(e.attr("null-selection-allowed"))); - assertEquals("Wrong null selection item id.", "No item selected", - e.attr("null-selection-item-id")); - } - - @Test - public void testWriteMultiListSelect() { - ListSelect ls = createMultiSelect(); - Element e = new Element(Tag.valueOf("vaadin-list-select"), ""); - ls.writeDesign(e, new DesignContext()); - assertEquals("Null selection should not be allowed.", "false", - e.attr("null-selection-allowed")); - Assert.assertTrue("Multi select should be allowed.", - "".equals(e.attr("multi-select")) - || "true".equals(e.attr("multi-select"))); - } - - @Test - public void testHtmlEntities() { - String design = "<vaadin-combo-box>" - + " <option item-id=\"one\">> One</option>" - + " <option>> Two</option>" + "</vaadin-combo-box>"; - AbstractSelect read = read(design); - - Assert.assertEquals("> One", read.getItemCaption("one")); - - AbstractSelect underTest = new ComboBox(); - underTest.addItem("> One"); - - Element root = new Element(Tag.valueOf("vaadin-combo-box"), ""); - DesignContext dc = new DesignContext(); - dc.setShouldWriteDataDelegate( - DeclarativeTestBaseBase.ALWAYS_WRITE_DATA); - underTest.writeDesign(root, dc); - - Assert.assertEquals("> One", - root.getElementsByTag("option").first().html()); - } - - public ComboBox createSingleSelectWithOnlyAttributes() { - ComboBox cb = new ComboBox(); - Container dataSource = new IndexedContainer(); - dataSource.addContainerProperty("icon", Resource.class, null); - cb.setContainerDataSource(dataSource); - cb.setCaption("A combo box"); - cb.setNewItemsAllowed(true); - cb.setItemCaptionMode(ItemCaptionMode.ICON_ONLY); - cb.setItemIconPropertyId("icon"); - cb.setNullSelectionAllowed(true); - cb.setNullSelectionItemId("No item selected"); - return cb; - } - - public ListSelect createMultiSelect() { - ListSelect ls = new ListSelect(); - ls.setNullSelectionAllowed(false); - ls.setMultiSelect(true); - return ls; - } - -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectListenersTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectListenersTest.java deleted file mode 100644 index 7fc584e3d5..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectListenersTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.vaadin.tests.server.component.abstractselect; - -import org.junit.Test; - -import com.vaadin.data.Container.ItemSetChangeEvent; -import com.vaadin.data.Container.ItemSetChangeListener; -import com.vaadin.data.Container.PropertySetChangeEvent; -import com.vaadin.data.Container.PropertySetChangeListener; -import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase; -import com.vaadin.ui.ComboBox; - -public class AbstractSelectListenersTest - extends AbstractListenerMethodsTestBase { - - @Test - public void testItemSetChangeListenerAddGetRemove() throws Exception { - testListenerAddGetRemove(ComboBox.class, ItemSetChangeEvent.class, - ItemSetChangeListener.class); - } - - @Test - public void testPropertySetChangeListenerAddGetRemove() throws Exception { - testListenerAddGetRemove(ComboBox.class, PropertySetChangeEvent.class, - PropertySetChangeListener.class); - } -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectStateTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectStateTest.java deleted file mode 100644 index c5ff297d7b..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/AbstractSelectStateTest.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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.abstractselect; - -import org.junit.Assert; -import org.junit.Test; - -import com.vaadin.shared.ui.select.AbstractSelectState; -import com.vaadin.ui.AbstractSelect; - -/** - * Tests for AbstractSelect state - * - */ -public class AbstractSelectStateTest { - - @Test - public void getState_selectHasCustomState() { - TestSelect select = new TestSelect(); - AbstractSelectState state = select.getState(); - Assert.assertEquals("Unexpected state class", AbstractSelectState.class, - state.getClass()); - } - - @Test - public void getPrimaryStyleName_selectHasCustomPrimaryStyleName() { - TestSelect combobox = new TestSelect(); - AbstractSelectState state = new AbstractSelectState(); - Assert.assertEquals("Unexpected primary style name", - state.primaryStyleName, combobox.getPrimaryStyleName()); - } - - @Test - public void selectStateHasCustomPrimaryStyleName() { - AbstractSelectState state = new AbstractSelectState(); - Assert.assertEquals("Unexpected primary style name", "v-select", - state.primaryStyleName); - } - - private static class TestSelect extends AbstractSelect { - - @Override - public AbstractSelectState getState() { - return super.getState(); - } - } -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTest.java deleted file mode 100644 index 8bd253ab64..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/OptionGroupDeclarativeTest.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * 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.abstractselect; - -import org.junit.Before; -import org.junit.Test; - -import com.vaadin.server.ThemeResource; -import com.vaadin.tests.design.DeclarativeTestBase; -import com.vaadin.ui.OptionGroup; - -public class OptionGroupDeclarativeTest - extends DeclarativeTestBase<OptionGroup> { - - private OptionGroup og; - - @Before - public void init() { - og = new OptionGroup(); - } - - @Test - public void testBasicSyntax() { - - String expected = "<vaadin-option-group />"; - testReadWrite(expected); - - } - - @Test - public void testOptionSyntax() { - - og.addItems("foo", "bar", "baz", "bang"); - - //@formatter:off - String expected = - "<vaadin-option-group>" - + "<option>foo</option>" - + "<option>bar</option>" - + "<option>baz</option>" - + "<option>bang</option>" - + "</vaadin-option-group>"; - //@formatter:on - - testReadWrite(expected); - - } - - @Test - public void testDisabledOptionSyntax() { - - og.addItems("foo", "bar", "baz", "bang"); - og.setItemEnabled("baz", false); - - //@formatter:off - String expected = - "<vaadin-option-group>" - + "<option>foo</option>" - + "<option>bar</option>" - + "<option disabled>baz</option>" - + "<option>bang</option>" - + "</vaadin-option-group>"; - //@formatter:on - - testReadWrite(expected); - - } - - @Test - public void testIconSyntax() { - - og.addItems("foo", "bar", "baz", "bang"); - og.setItemIcon("bar", new ThemeResource("foobar.png")); - - //@formatter:off - String expected = - "<vaadin-option-group>" - + "<option>foo</option>" - + "<option icon='theme://foobar.png'>bar</option>" - + "<option>baz</option>" - + "<option>bang</option>" - + "</vaadin-option-group>"; - //@formatter:on - - testReadWrite(expected); - - } - - @Test - public void testHTMLCaption() { - - og.addItems("foo", "bar", "baz", "bang"); - - og.setHtmlContentAllowed(true); - - og.setItemCaption("foo", "<b>True</b>"); - og.setItemCaption("bar", "<font color='red'>False</font>"); - - //@formatter:off - String expected = - "<vaadin-option-group html-content-allowed>" - + "<option item-id=\"foo\"><b>True</b></option>" - + "<option item-id=\"bar\"><font color='red'>False</font></option>" - + "<option>baz</option>" - + "<option>bang</option>" - + "</vaadin-option-group>"; - //@formatter:on - - testReadWrite(expected); - } - - @Test - public void testPlaintextCaption() { - - og.addItems("foo", "bar", "baz", "bang"); - - og.setItemCaption("foo", "<b>True</b>"); - og.setItemCaption("bar", "<font color=\"red\">False</font>"); - - //@formatter:off - String expected = - "<vaadin-option-group>" - + "<option item-id=\"foo\"><b>True</b></option>" - + "<option item-id=\"bar\"><font color=\"red\">False</font></option>" - + "<option>baz</option>" - + "<option>bang</option>" - + "</vaadin-option-group>"; - //@formatter:on - - testReadWrite(expected); - } - - private void testReadWrite(String design) { - testWrite(design, og, true); - testRead(design, og); - } - - @Override - public OptionGroup testRead(String design, OptionGroup expected) { - - OptionGroup read = super.testRead(design, expected); - testWrite(design, read, true); - - return read; - } - -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/OptionGroupTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractselect/OptionGroupTest.java deleted file mode 100644 index 9a20d2fd79..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractselect/OptionGroupTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.vaadin.tests.server.component.abstractselect; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.util.Collection; - -import org.junit.Before; -import org.junit.Test; - -import com.vaadin.ui.OptionGroup; - -public class OptionGroupTest { - - private OptionGroup optionGroup; - - @Before - public void setup() { - optionGroup = new OptionGroup(); - } - - @Test - public void itemsAreAdded() { - optionGroup.addItems("foo", "bar"); - - Collection<?> itemIds = optionGroup.getItemIds(); - - assertEquals(2, itemIds.size()); - assertTrue(itemIds.contains("foo")); - assertTrue(itemIds.contains("bar")); - } -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/listselect/ListSelectDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/listselect/ListSelectDeclarativeTest.java deleted file mode 100644 index f0fa4aad55..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/listselect/ListSelectDeclarativeTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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.listselect; - -import org.junit.Test; - -import com.vaadin.tests.design.DeclarativeTestBase; -import com.vaadin.ui.ListSelect; - -public class ListSelectDeclarativeTest extends DeclarativeTestBase<ListSelect> { - - private ListSelect getWithOptionsExpected() { - ListSelect ls = new ListSelect(); - ls.setRows(10); - ls.addItem("Male"); - ls.addItem("Female"); - return ls; - } - - private String getWithOptionsDesign() { - return "<vaadin-list-select rows=10>\n" - + " <option>Male</option>\n" - + " <option>Female</option>\n" - + "</vaadin-list-select>\n" + ""; - } - - @Test - public void testReadWithOptions() { - testRead(getWithOptionsDesign(), getWithOptionsExpected()); - } - - @Test - public void testWriteWithOptions() { - testWrite(stripOptionTags(getWithOptionsDesign()), - getWithOptionsExpected()); - } - - private ListSelect getBasicExpected() { - ListSelect ls = new ListSelect(); - ls.setCaption("Hello"); - return ls; - } - - private String getBasicDesign() { - return "<vaadin-list-select caption='Hello' />"; - } - - @Test - public void testReadBasic() { - testRead(getBasicDesign(), getBasicExpected()); - } - - @Test - public void testWriteBasic() { - testWrite(getBasicDesign(), getBasicExpected()); - } - -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/listselect/ListSelectStateTest.java b/server/src/test/java/com/vaadin/tests/server/component/listselect/ListSelectStateTest.java deleted file mode 100644 index 595909aa69..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/listselect/ListSelectStateTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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.listselect; - -import org.junit.Assert; -import org.junit.Test; - -import com.vaadin.shared.ui.select.AbstractSelectState; -import com.vaadin.ui.ListSelect; - -/** - * Tests for ListSelect State. - * - */ -public class ListSelectStateTest { - - @Test - public void getState_listSelectHasCustomState() { - TestListSelect select = new TestListSelect(); - AbstractSelectState state = select.getState(); - Assert.assertEquals("Unexpected state class", AbstractSelectState.class, - state.getClass()); - } - - private static class TestListSelect extends ListSelect { - @Override - public AbstractSelectState getState() { - return super.getState(); - } - } - -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/nativeselect/NativeSelectDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/nativeselect/NativeSelectDeclarativeTest.java deleted file mode 100644 index 853f38c7d3..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/nativeselect/NativeSelectDeclarativeTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * 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.nativeselect; - -import org.junit.Test; - -import com.vaadin.tests.design.DeclarativeTestBase; -import com.vaadin.ui.NativeSelect; - -/** - * Test cases for reading the properties of selection components. - * - * @author Vaadin Ltd - */ -public class NativeSelectDeclarativeTest - extends DeclarativeTestBase<NativeSelect> { - - public String getBasicDesign() { - return "<vaadin-native-select><option>foo</option><option>bar</option></vaadin-native-select>"; - - } - - public NativeSelect getBasicExpected() { - NativeSelect ns = new NativeSelect(); - ns.addItem("foo"); - ns.addItem("bar"); - return ns; - } - - @Test - public void testReadBasic() { - testRead(getBasicDesign(), getBasicExpected()); - } - - @Test - public void testWriteBasic() { - testWrite(stripOptionTags(getBasicDesign()), getBasicExpected()); - } - - @Test - public void testReadOnlyValue() { - String design = "<vaadin-native-select readonly><option selected>foo</option><option>bar</option></vaadin-native-select>"; - - NativeSelect ns = new NativeSelect(); - ns.addItems("foo", "bar"); - ns.setValue("foo"); - ns.setReadOnly(true); - - testRead(design, ns); - - // Selects items are not written out by default - String design2 = "<vaadin-native-select readonly></vaadin-native-select>"; - testWrite(design2, ns); - } - -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/optiongroup/OptionGroupListenersTest.java b/server/src/test/java/com/vaadin/tests/server/component/optiongroup/OptionGroupListenersTest.java deleted file mode 100644 index 2c2a8a81fb..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/optiongroup/OptionGroupListenersTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.vaadin.tests.server.component.optiongroup; - -import org.junit.Test; - -import com.vaadin.event.FieldEvents.BlurEvent; -import com.vaadin.event.FieldEvents.BlurListener; -import com.vaadin.event.FieldEvents.FocusEvent; -import com.vaadin.event.FieldEvents.FocusListener; -import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase; -import com.vaadin.ui.OptionGroup; - -public class OptionGroupListenersTest extends AbstractListenerMethodsTestBase { - - @Test - public void testFocusListenerAddGetRemove() throws Exception { - testListenerAddGetRemove(OptionGroup.class, FocusEvent.class, - FocusListener.class); - } - - @Test - public void testBlurListenerAddGetRemove() throws Exception { - testListenerAddGetRemove(OptionGroup.class, BlurEvent.class, - BlurListener.class); - } -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/optiongroup/OptionGroupStateTest.java b/server/src/test/java/com/vaadin/tests/server/component/optiongroup/OptionGroupStateTest.java deleted file mode 100644 index a6d04576bc..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/optiongroup/OptionGroupStateTest.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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.optiongroup; - -import org.junit.Assert; -import org.junit.Test; - -import com.vaadin.shared.ui.optiongroup.OptionGroupState; -import com.vaadin.ui.OptionGroup; - -/** - * Tests for OptionGroup state. - * - */ -public class OptionGroupStateTest { - - @Test - public void getState_optionGroupHasCustomState() { - TestOptionGroup group = new TestOptionGroup(); - OptionGroupState state = group.getState(); - Assert.assertEquals("Unexpected state class", OptionGroupState.class, - state.getClass()); - } - - @Test - public void getPrimaryStyleName_optionGroupHasCustomPrimaryStyleName() { - OptionGroup layout = new OptionGroup(); - OptionGroupState state = new OptionGroupState(); - Assert.assertEquals("Unexpected primary style name", - state.primaryStyleName, layout.getPrimaryStyleName()); - } - - @Test - public void optionGroupStateHasCustomPrimaryStyleName() { - OptionGroupState state = new OptionGroupState(); - Assert.assertEquals("Unexpected primary style name", - "v-select-optiongroup", state.primaryStyleName); - } - - private static class TestOptionGroup extends OptionGroup { - - @Override - public OptionGroupState getState() { - return super.getState(); - } - } -} diff --git a/server/src/test/java/com/vaadin/tests/server/component/select/SelectListenersTest.java b/server/src/test/java/com/vaadin/tests/server/component/select/SelectListenersTest.java deleted file mode 100644 index 1b0ff1caff..0000000000 --- a/server/src/test/java/com/vaadin/tests/server/component/select/SelectListenersTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.vaadin.tests.server.component.select; - -import org.junit.Test; - -import com.vaadin.event.FieldEvents.BlurEvent; -import com.vaadin.event.FieldEvents.BlurListener; -import com.vaadin.event.FieldEvents.FocusEvent; -import com.vaadin.event.FieldEvents.FocusListener; -import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase; -import com.vaadin.ui.Select; - -public class SelectListenersTest extends AbstractListenerMethodsTestBase { - - @Test - public void testFocusListenerAddGetRemove() throws Exception { - testListenerAddGetRemove(Select.class, FocusEvent.class, - FocusListener.class); - } - - @Test - public void testBlurListenerAddGetRemove() throws Exception { - testListenerAddGetRemove(Select.class, BlurEvent.class, - BlurListener.class); - } -} diff --git a/server/src/test/java/com/vaadin/ui/AbsSelectTest.java b/server/src/test/java/com/vaadin/ui/AbsSelectTest.java deleted file mode 100644 index 51556f9e1a..0000000000 --- a/server/src/test/java/com/vaadin/ui/AbsSelectTest.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * 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.ui; - -import java.util.ArrayList; -import java.util.HashSet; - -import org.junit.Assert; -import org.junit.Test; - -import com.vaadin.data.util.ObjectProperty; - -public class AbsSelectTest { - - @Test - public void addItemsStrings() { - NativeSelect ns = new NativeSelect(); - ns.addItems("Foo", "bar", "baz"); - Assert.assertEquals(3, ns.size()); - Assert.assertArrayEquals(new Object[] { "Foo", "bar", "baz" }, - ns.getItemIds().toArray()); - } - - @Test - public void addItemsObjects() { - Object o1 = new Object(); - Object o2 = new Object(); - Object o3 = new Object(); - - NativeSelect ns = new NativeSelect(); - ns.addItems(o1, o2, o3); - Assert.assertEquals(3, ns.size()); - Assert.assertArrayEquals(new Object[] { o1, o2, o3 }, - ns.getItemIds().toArray()); - } - - @Test - public void addItemsStringList() { - ArrayList<String> itemIds = new ArrayList<String>(); - itemIds.add("foo"); - itemIds.add("bar"); - itemIds.add("baz"); - NativeSelect ns = new NativeSelect(); - ns.addItems(itemIds); - Assert.assertEquals(3, ns.size()); - Assert.assertArrayEquals(new Object[] { "foo", "bar", "baz" }, - ns.getItemIds().toArray()); - } - - @Test - public void addItemsObjectList() { - Object o1 = new Object(); - Object o2 = new Object(); - Object o3 = new Object(); - ArrayList<Object> itemIds = new ArrayList<Object>(); - itemIds.add(o1); - itemIds.add(o2); - itemIds.add(o3); - NativeSelect ns = new NativeSelect(); - ns.addItems(itemIds); - Assert.assertEquals(3, ns.size()); - Assert.assertArrayEquals(new Object[] { o1, o2, o3 }, - ns.getItemIds().toArray()); - - } - - @Test - public void singleSelectInitiallyEmpty() { - AbstractSelect s = new ListSelect(); - Assert.assertTrue(s.isEmpty()); - } - - @Test - public void singleSelectEmptyAfterClearUsingPDS() { - AbstractSelect s = new ListSelect(); - s.addItem("foo"); - s.addItem("bar"); - s.setPropertyDataSource(new ObjectProperty<String>("foo")); - - Assert.assertFalse(s.isEmpty()); - s.clear(); - Assert.assertTrue(s.isEmpty()); - } - - @Test - public void singleSelectEmptyAfterClear() { - AbstractSelect s = new ListSelect(); - s.addItem("foo"); - s.addItem("bar"); - s.setValue("bar"); - - Assert.assertFalse(s.isEmpty()); - s.clear(); - Assert.assertTrue(s.isEmpty()); - } - - @Test - public void multiSelectInitiallyEmpty() { - AbstractSelect s = new ListSelect(); - s.setMultiSelect(true); - Assert.assertTrue(s.isEmpty()); - } - - @Test - public void multiSelectEmptyAfterClearUsingPDS() { - AbstractSelect s = new ListSelect(); - s.setMultiSelect(true); - s.addItem("foo"); - s.addItem("bar"); - HashSet<String> sel = new HashSet<String>(); - sel.add("foo"); - sel.add("bar"); - s.setPropertyDataSource(new ObjectProperty<HashSet>(sel)); - - Assert.assertFalse(s.isEmpty()); - s.clear(); - Assert.assertTrue(s.isEmpty()); - } - - @Test - public void multiSelectEmptyAfterClear() { - AbstractSelect s = new ListSelect(); - s.setMultiSelect(true); - s.addItem("foo"); - s.addItem("bar"); - s.select("foo"); - s.select("bar"); - - Assert.assertFalse(s.isEmpty()); - s.clear(); - Assert.assertTrue(s.isEmpty()); - } - -} diff --git a/server/src/test/java/com/vaadin/ui/NativeSelectTest.java b/server/src/test/java/com/vaadin/ui/NativeSelectTest.java deleted file mode 100644 index 1a41fc1097..0000000000 --- a/server/src/test/java/com/vaadin/ui/NativeSelectTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * 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.ui; - -import java.util.Collections; - -import org.junit.Assert; -import org.junit.Test; - -import com.vaadin.data.util.IndexedContainer; -import com.vaadin.shared.ui.select.AbstractSelectState; - -public class NativeSelectTest { - - @Test - public void rpcRegisteredConstructorNoArg() { - assertFocusRpcRegistered(new NativeSelect()); - } - - @Test - public void rpcRegisteredConstructorString() { - assertFocusRpcRegistered(new NativeSelect("foo")); - } - - @Test - public void rpcRegisteredConstructorStringCollection() { - assertFocusRpcRegistered( - new NativeSelect("foo", Collections.singleton("Hello"))); - } - - @Test - public void rpcRegisteredConstructorStringContainer() { - assertFocusRpcRegistered( - new NativeSelect("foo", new IndexedContainer())); - } - - @Test - public void getState_listSelectHasCustomState() { - TestNativeSelect select = new TestNativeSelect(); - AbstractSelectState state = select.getState(); - Assert.assertEquals("Unexpected state class", AbstractSelectState.class, - state.getClass()); - } - - private static class TestNativeSelect extends NativeSelect { - @Override - public AbstractSelectState getState() { - return super.getState(); - } - } - - private void assertFocusRpcRegistered(NativeSelect s) { - Assert.assertNotNull("RPC is not correctly registered", s.getRpcManager( - "com.vaadin.shared.communication.FieldRpc$FocusAndBlurServerRpc")); - } - -} diff --git a/server/src/test/resources/com/vaadin/tests/design/all-components-legacy.html b/server/src/test/resources/com/vaadin/tests/design/all-components-legacy.html deleted file mode 100644 index 39aecb6db1..0000000000 --- a/server/src/test/resources/com/vaadin/tests/design/all-components-legacy.html +++ /dev/null @@ -1,122 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta name="package-mapping" content="my:com.addon.mypackage"/> - </head> - <body> - <v-vertical-layout> - <!-- abstract component --> - <v-button primary-style-name="button" id="foo" style-name="red" caption="Some caption" icon="vaadin://themes/runo/icons/16/ok.png" description="My tooltip" error="Something went wrong" locale="en_US"></v-button> - - <!-- absolute layout --> - <v-absolute-layout> - <v-button :top="100px" :left="0px" :z-index=21>OK</v-button> - <v-button :bottom="0px" :right="0px">Cancel</v-button> - </v-absolute-layout> - - <!-- vertical layout --> - <v-vertical-layout spacing margin> - <v-button :top>OK</v-button> - <v-table size-full :expand=1 /> - </v-vertical-layout> - - <!-- horizontal layout --> - <v-horizontal-layout spacing margin> - <v-button :top>OK</v-button> - <v-table size-full :expand=1 /> - </v-horizontal-layout> - - <!-- form layout --> - <v-form-layout spacing margin> - <v-button :top>OK</v-button> - <v-table size-full :expand=1 /> - </v-form-layout> - - <!-- css layout --> - <v-css-layout> - <v-button>OK</v-button> - <v-table size-full /> - </v-css-layout> - - <!-- panel --> - <v-panel caption="Hello world" tabindex=2 scroll-left="10" scroll-top="10"> - <v-table size-full /> - </v-panel> - - <!-- abstract field --> - <v-text-field buffered validation-visible=false invalid-committed invalid-allowed=false required required-error="This is a required field" conversion-error="Input {0} cannot be parsed" tabindex=3 readonly /> - <!-- abstract text field, text field --> - <v-text-field null-representation="" null-setting-allowed maxlength=10 columns=5 input-prompt="Please enter a value" text-change-event-mode="eager" text-change-timeout=2 value="foo" /> - <!-- password field --> - <v-password-field null-representation="" null-setting-allowed maxlength=10 columns=5 input-prompt="Please enter a value" text-change-event-mode="eager" text-change-timeout=2 value="foo" /> - <!-- text area --> - <v-text-area rows=5 wordwrap=false >test value</v-text-area> - <!-- button --> - <v-button click-shortcut="ctrl-shift-o" disable-on-click tabindex=1 icon="http://vaadin.com/image.png" icon-alt="ok" plain-text>OK</v-button> - <!-- native button --> - <v-button click-shortcut="ctrl-shift-o" disable-on-click tabindex=1 icon="http://vaadin.com/image.png" icon-alt="ok" plain-text>OK</v-button> - - <!-- tabsheet --> - <v-tab-sheet tabindex=5> - <tab visible=false closable caption="My first tab"> - <v-vertical-layout> - <v-text-field/> - </v-vertical-layout> - </tab> - <tab enabled=false caption="Disabled second tab"> - <v-button>In disabled tab - can’t be shown by default</v-button> - </tab> - <tab icon="theme://../runo/icons/16/ok.png" icon-alt="Ok png from Runo - very helpful" description="Click to show a text field" style-name="red" id="uniqueDomId"> - <v-text-field input-prompt="Icon only in tab" /> - </tab> - </v-tab-sheet> - - <!-- accordion --> - <v-accordion tabindex=5> - <tab visible=false closable caption="My first tab"> - <v-vertical-layout> - <v-text-field/> - </v-vertical-layout> - </tab> - <tab enabled=false caption="Disabled second tab"> - <v-button>In disabled tab - can’t be shown by default</v-button> - </tab> - <tab icon="theme://../runo/icons/16/ok.png" icon-alt="Ok png from Runo - very helpful" description="Click to show a text field" style-name="red" id="uniqueDomId"> - <v-text-field input-prompt="Icon only in tab" /> - </tab> - </v-accordion> - - <!-- abstract split panel --> - <v-horizontal-split-panel split-position="20px" min-split-position="0px" max-split-position="50px" locked> - <v-button>First slot</v-button> - </v-horizontal-split-panel> - <v-vertical-split-panel split-position="25%" reversed> - <v-button :second>Second slot</v-button> - </v-vertical-split-panel> - <v-horizontal-split-panel split-position="25%" reversed> - <v-button>First slot</v-button> - <v-button>Second slot</v-button> - </v-horizontal-split-panel> - - <!-- label --> - <v-label>Hello world!</v-label> - <v-label>This is <b><u>Rich</u></b> content!</v-label> - <v-label plain-text>This is only <b>text</b> and will contain visible tags</v-label> - - <!-- checkbox --> - <v-check-box checked/> - - <!-- abstract select --> - <v-list-select new-items-allowed multi-select - item-caption-mode="index" - null-selection-allowed=false> - </v-list-select> - - <v-combo-box> - <option icon="http://something/my-icon.png">First value</option> - <option>Second value</option> - </v-combo-box> - - </v-vertical-layout> - </body> -</html> diff --git a/server/src/test/resources/com/vaadin/tests/design/all-components.html b/server/src/test/resources/com/vaadin/tests/design/all-components.html deleted file mode 100644 index 6507188cd7..0000000000 --- a/server/src/test/resources/com/vaadin/tests/design/all-components.html +++ /dev/null @@ -1,122 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta name="package-mapping" content="my:com.addon.mypackage"/> - </head> - <body> - <vaadin-vertical-layout> - <!-- abstract component --> - <vaadin-button primary-style-name="button" id="foo" style-name="red" caption="Some caption" icon="vaadin://themes/runo/icons/16/ok.png" description="My tooltip" error="Something went wrong" locale="en_US"></vaadin-button> - - <!-- absolute layout --> - <vaadin-absolute-layout> - <vaadin-button :top="100px" :left="0px" :z-index=21>OK</vaadin-button> - <vaadin-button :bottom="0px" :right="0px">Cancel</vaadin-button> - </vaadin-absolute-layout> - - <!-- vertical layout --> - <vaadin-vertical-layout spacing margin> - <vaadin-button :top>OK</vaadin-button> - <vaadin-table size-full :expand=1 /> - </vaadin-vertical-layout> - - <!-- horizontal layout --> - <vaadin-horizontal-layout spacing margin> - <vaadin-button :top>OK</vaadin-button> - <vaadin-table size-full :expand=1 /> - </vaadin-horizontal-layout> - - <!-- form layout --> - <vaadin-form-layout spacing margin> - <vaadin-button :top>OK</vaadin-button> - <vaadin-table size-full :expand=1 /> - </vaadin-form-layout> - - <!-- css layout --> - <vaadin-css-layout> - <vaadin-button>OK</vaadin-button> - <vaadin-table size-full /> - </vaadin-css-layout> - - <!-- panel --> - <vaadin-panel caption="Hello world" tabindex=2 scroll-left="10" scroll-top="10"> - <vaadin-table size-full /> - </vaadin-panel> - - <!-- abstract field --> - <vaadin-text-field buffered validation-visible=false invalid-committed invalid-allowed=false required required-error="This is a required field" conversion-error="Input {0} cannot be parsed" tabindex=3 readonly /> - <!-- abstract text field, text field --> - <vaadin-text-field null-representation="" null-setting-allowed maxlength=10 columns=5 input-prompt="Please enter a value" text-change-event-mode="eager" text-change-timeout=2 value="foo" /> - <!-- password field --> - <vaadin-password-field null-representation="" null-setting-allowed maxlength=10 columns=5 input-prompt="Please enter a value" text-change-event-mode="eager" text-change-timeout=2 value="foo" /> - <!-- text area --> - <vaadin-text-area rows=5 wordwrap=false >test value</vaadin-text-area> - <!-- button --> - <vaadin-button click-shortcut="ctrl-shift-o" disable-on-click tabindex=1 icon="http://vaadin.com/image.png" icon-alt="ok" plain-text>OK</vaadin-button> - <!-- native button --> - <vaadin-button click-shortcut="ctrl-shift-o" disable-on-click tabindex=1 icon="http://vaadin.com/image.png" icon-alt="ok" plain-text>OK</vaadin-button> - - <!-- tabsheet --> - <vaadin-tab-sheet tabindex=5> - <tab visible=false closable caption="My first tab"> - <vaadin-vertical-layout> - <vaadin-text-field/> - </vaadin-vertical-layout> - </tab> - <tab enabled=false caption="Disabled second tab"> - <vaadin-button>In disabled tab - can’t be shown by default</vaadin-button> - </tab> - <tab icon="theme://../runo/icons/16/ok.png" icon-alt="Ok png from Runo - very helpful" description="Click to show a text field" style-name="red" id="uniqueDomId"> - <vaadin-text-field input-prompt="Icon only in tab" /> - </tab> - </vaadin-tab-sheet> - - <!-- accordion --> - <vaadin-accordion tabindex=5> - <tab visible=false closable caption="My first tab"> - <vaadin-vertical-layout> - <vaadin-text-field/> - </vaadin-vertical-layout> - </tab> - <tab enabled=false caption="Disabled second tab"> - <vaadin-button>In disabled tab - can’t be shown by default</vaadin-button> - </tab> - <tab icon="theme://../runo/icons/16/ok.png" icon-alt="Ok png from Runo - very helpful" description="Click to show a text field" style-name="red" id="uniqueDomId"> - <vaadin-text-field input-prompt="Icon only in tab" /> - </tab> - </vaadin-accordion> - - <!-- abstract split panel --> - <vaadin-horizontal-split-panel split-position="20px" min-split-position="0px" max-split-position="50px" locked> - <vaadin-button>First slot</vaadin-button> - </vaadin-horizontal-split-panel> - <vaadin-vertical-split-panel split-position="25%" reversed> - <vaadin-button :second>Second slot</vaadin-button> - </vaadin-vertical-split-panel> - <vaadin-horizontal-split-panel split-position="25%" reversed> - <vaadin-button>First slot</vaadin-button> - <vaadin-button>Second slot</vaadin-button> - </vaadin-horizontal-split-panel> - - <!-- label --> - <vaadin-label>Hello world!</vaadin-label> - <vaadin-label>This is <b><u>Rich</u></b> content!</vaadin-label> - <vaadin-label plain-text>This is only <b>text</b> and will contain visible tags</vaadin-label> - - <!-- checkbox --> - <vaadin-check-box checked/> - - <!-- abstract select --> - <vaadin-list-select new-items-allowed multi-select - item-caption-mode="index" - null-selection-allowed=false> - </vaadin-list-select> - - <vaadin-combo-box> - <option icon="http://something/my-icon.png">First value</option> - <option>Second value</option> - </vaadin-combo-box> - - </vaadin-vertical-layout> - </body> -</html> |