diff options
author | Leif Åstrand <leif@vaadin.com> | 2016-11-22 09:33:11 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2016-11-29 10:18:54 +0000 |
commit | 0d57c15577f5d5e15453024ce90144120948eae9 (patch) | |
tree | 2c15be36daeaf87e379ac73101a2c631888a9496 /server/src/test | |
parent | f2d8f812efa067b4baa7e27c0ea76f7596b291e6 (diff) | |
download | vaadin-framework-0d57c15577f5d5e15453024ce90144120948eae9.tar.gz vaadin-framework-0d57c15577f5d5e15453024ce90144120948eae9.zip |
Make it possible to reset single select values
Change-Id: I60c5d9f183d1955fbbd3341e3ac9f93aae755f80
Diffstat (limited to 'server/src/test')
-rw-r--r-- | server/src/test/java/com/vaadin/ui/ComboBoxTest.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/ui/ComboBoxTest.java b/server/src/test/java/com/vaadin/ui/ComboBoxTest.java new file mode 100644 index 0000000000..36b29fdd7a --- /dev/null +++ b/server/src/test/java/com/vaadin/ui/ComboBoxTest.java @@ -0,0 +1,48 @@ +/* + * 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 org.junit.Test; + +import com.vaadin.shared.data.selection.SelectionServerRpc; +import com.vaadin.tests.util.MockUI; + +public class ComboBoxTest { + + @Test + public void testResetValue() { + ComboBox<String> comboBox = new ComboBox<>(); + comboBox.setItems("one", "two"); + + // Reset value whenever it changes (in a real case, this listener would + // do something with the selected value before discarding it) + comboBox.addValueChangeListener(e -> comboBox.setValue(null)); + + // "Attach" the component and initialize diffstate + new MockUI().setContent(comboBox); + ComponentTest.syncToClient(comboBox); + + // Emulate selection of "one" + String oneKey = comboBox.getDataCommunicator().getKeyMapper() + .key("one"); + ComponentTest.getRpcProxy(comboBox, SelectionServerRpc.class) + .select(oneKey); + + ComponentTest.assertEncodedStateProperties(comboBox, + "Selection change done by the listener should be sent to the client", + "selectedItemKey"); + } +} |