Browse Source

Migrate ComboBoxNoTextInput test from TB2 to TB4

Change-Id: I6e474b2306c6957d428117802ffda330b4809a6d
tags/7.6.0.alpha2^2
Henri Sara 9 years ago
parent
commit
bab0975e12

+ 46
- 0
uitest/src/com/vaadin/tests/components/combobox/ComboBoxNoTextInput.java View File

@@ -0,0 +1,46 @@
/*
* Copyright 2000-2014 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.components.combobox;

import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.CheckBox;

public class ComboBoxNoTextInput extends ComboBoxSelecting {

@Override
protected void setup(VaadinRequest request) {
super.setup(request);
comboBox.setTextInputAllowed(true);

final CheckBox textInputCheckBox = new CheckBox("Text Input", true);
textInputCheckBox.setId("textInput");
textInputCheckBox.addValueChangeListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
comboBox.setTextInputAllowed(textInputCheckBox.getValue());
}
});
addComponent(textInputCheckBox);
}

@Override
protected String getTestDescription() {
return "ComboBox should open popup on click when text input is not allowed.";
}

}

+ 61
- 0
uitest/src/com/vaadin/tests/components/combobox/ComboBoxNoTextInputTest.java View File

@@ -0,0 +1,61 @@
/*
* Copyright 2000-2014 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.components.combobox;

import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.WebElement;

import com.vaadin.testbench.By;
import com.vaadin.testbench.commands.TestBenchElementCommands;
import com.vaadin.testbench.elements.CheckBoxElement;
import com.vaadin.testbench.elements.ComboBoxElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

public class ComboBoxNoTextInputTest extends MultiBrowserTest {

@Test
public void testComboBoxNoTextInputPopupOpensOnClick() throws Exception {
openTestURL();

// deactivate text input
click($(CheckBoxElement.class).id("textInput"));

// click and check that popup appears
ComboBoxElement cb = $(ComboBoxElement.class).first();
click(cb);
// popup is opened lazily
waitForElementPresent(By.vaadin("//com.vaadin.ui.ComboBox[0]#popup"));
}

@Test
public void testComboBoxWithTextInputNoPopupOpensOnClick() throws Exception {
openTestURL();

// click and check that no popup appears
ComboBoxElement cb = $(ComboBoxElement.class).first();
click(cb);
// popup is opened lazily
sleep(1000);
Assert.assertFalse(cb.isElementPresent(By.vaadin("#popup")));
}

private void click(ComboBoxElement cb) throws Exception {
WebElement element = cb.findElement(By.vaadin("#textbox"));
((TestBenchElementCommands) element).click(8, 7);
}

}

+ 0
- 75
uitest/tb2/com/vaadin/tests/components/combobox/ComboBoxNoTextInput.html View File

@@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://localhost:8080/" />
<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">New Test</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>/run/com.vaadin.tests.components.combobox.ComboBoxes2?restartApplication</td>
<td></td>
</tr>
<!--Disabled text input-->
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::PID_Smenu#item0</td>
<td>34,8</td>
</tr>
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::Root/VOverlay[0]/VMenuBar[0]#item0</td>
<td>21,3</td>
</tr>
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::Root/VOverlay[1]/VMenuBar[0]#item8</td>
<td>52,7</td>
</tr>
<!--Check that clicking the text field opens the popup-->
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::PID_StestComponent/domChild[0]</td>
<td>37,8</td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::Root/VFilterSelect$SuggestionPopup[0]/VFilterSelect$SuggestionMenu[0]#item0</td>
<td></td>
</tr>
<!--Enabled text input again-->
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::PID_Smenu#item0</td>
<td>35,5</td>
</tr>
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::Root/VOverlay[0]/VMenuBar[0]#item0</td>
<td>14,10</td>
</tr>
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::Root/VOverlay[1]/VMenuBar[0]#item8</td>
<td>34,6</td>
</tr>
<!--Check that clicking the text field does not open the popup-->
<tr>
<td>mouseClick</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::PID_StestComponent/domChild[0]</td>
<td>42,9</td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>vaadin=runcomvaadintestscomponentscomboboxComboBoxes2::Root/VFilterSelect$SuggestionPopup[0]/VFilterSelect$SuggestionMenu[0]#item0</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>

Loading…
Cancel
Save