From 41d3c9c4967ae34eab9a19622b3a2b4150116e8c Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Tue, 3 May 2011 13:37:51 +0000 Subject: [PATCH] #6918 Test case for CheckBox with null value svn changeset:18613/svn branch:6.6 --- .../checkbox/CheckBoxNullValue.html | 77 +++++++++++++++++++ .../checkbox/CheckBoxNullValue.java | 61 +++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.html create mode 100644 tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.java diff --git a/tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.html b/tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.html new file mode 100644 index 0000000000..9717ccec78 --- /dev/null +++ b/tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.html @@ -0,0 +1,77 @@ + + + + + + +CheckBoxNullValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CheckBoxNullValue
open/run/com.vaadin.tests.components.checkbox.CheckBoxNullValue?restartApplication
screenCaptureinitial
clickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]
screenCapturebothnull
mouseClickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]6,5
mouseClickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]7,4
clickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]
screenCapturebothtrue
mouseClickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[1]/VCheckBox[0]/domChild[0]6,6
mouseClickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VCheckBox[0]/domChild[0]9,9
clickvaadin=runcomvaadintestscomponentscheckboxCheckBoxNullValue::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[2]/VButton[0]/domChild[0]/domChild[0]
screenCapturebothfalse
+ + diff --git a/tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.java b/tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.java new file mode 100644 index 0000000000..a961b48426 --- /dev/null +++ b/tests/src/com/vaadin/tests/components/checkbox/CheckBoxNullValue.java @@ -0,0 +1,61 @@ +package com.vaadin.tests.components.checkbox; + +import com.vaadin.data.Validator.InvalidValueException; +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.CheckBox; +import com.vaadin.ui.Label; + +public class CheckBoxNullValue extends TestBase { + + @Override + protected void setup() { + // workaround for #6919 + getLayout().setWidth("100%"); + + final CheckBox checkbox = new CheckBox("A checkbox"); + checkbox.setValue(null); + addComponent(checkbox); + + final CheckBox requiredCheckbox = new CheckBox("A required checkbox"); + requiredCheckbox.setRequired(true); + requiredCheckbox.setValue(null); + addComponent(requiredCheckbox); + + final Label valueLabel = new Label(""); + + final Button button = new Button("Validate"); + addComponent(button); + button.addListener(new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + checkbox.setComponentError(null); + requiredCheckbox.setComponentError(null); + try { + checkbox.validate(); + } catch (InvalidValueException e) { + checkbox.setComponentError(e); + } + try { + requiredCheckbox.validate(); + } catch (InvalidValueException e) { + requiredCheckbox.setComponentError(e); + } + valueLabel.setValue("Checkbox: " + checkbox.getValue() + + "; Required checkbox: " + requiredCheckbox.getValue()); + } + }); + addComponent(valueLabel); + } + + @Override + protected String getDescription() { + return "CheckBox should support null values."; + } + + @Override + protected Integer getTicketNumber() { + return 6918; + } + +} -- 2.39.5