Class NumberFieldLocator
- All Implemented Interfaces:
Clickable<NumberField>,HasAriaLabelFilter<NumberField,,NumberFieldLocator> HasLabelFilter<NumberField,,NumberFieldLocator> HasPlaceholderFilter<NumberField,,NumberFieldLocator> HasThemeFilter<NumberField,,NumberFieldLocator> HasValueFilter<NumberField,Double, NumberFieldLocator>
NumberField, derived from
NumberFieldTester. Filter steps are inherited from
Locator; action methods delegate to a fresh tester
around the resolved component, so behavioral changes belong on the
tester, not here.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Empties the field, as when the user deletes its contents (or clicks the clear button, where one is shown).voidEmpties the field by clicking its clear button, as the user would.voidEnsures the component is in a usable state before interaction.Gets the component being tested.booleanisValid()Checks whether the field is currently valid, running the component's own default validator ? required, min, max and, when it is explicitly set, the step scale ? and honouring an invalid state set from the outside, as aBinderor a custom validator does.voidSet the given value for the component, as the user would type it.voidstepDown()Simulates the user clicking the step down button once.voidstepDown(int times) Simulates the user clicking the step down button the given number of times.voidstepUp()Simulates the user clicking the step up button once.voidstepUp(int times) Simulates the user clicking the step up button the given number of times.Methods inherited from class com.vaadin.browserless.locator.Locator
atIndex, component, components, exists, inside, inside, invalidate, self, with, withAttribute, withAttribute, withClassName, withCondition, withId, withinSlot, withoutAttribute, withoutAttribute, withoutClassName, withTestIdMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.browserless.Clickable
click, click, click, middleClick, middleClick, rightClick, rightClickMethods inherited from interface com.vaadin.browserless.locator.HasAriaLabelFilter
withAriaLabel, withAriaLabelContainingMethods inherited from interface com.vaadin.browserless.locator.HasLabelFilter
withLabel, withLabelContainingMethods inherited from interface com.vaadin.browserless.locator.HasPlaceholderFilter
withPlaceholder, withPlaceholderContainingMethods inherited from interface com.vaadin.browserless.locator.HasThemeFilter
withoutTheme, withoutTheme, withTheme, withThemeMethods inherited from interface com.vaadin.browserless.locator.HasValueFilter
withValue
-
Constructor Details
-
NumberFieldLocator
public NumberFieldLocator() -
NumberFieldLocator
-
-
Method Details
-
getComponent
Description copied from interface:ClickableGets the component being tested.- Specified by:
getComponentin interfaceClickable<NumberField>- Returns:
- the component under test
-
ensureComponentIsUsable
public void ensureComponentIsUsable()Description copied from interface:ClickableEnsures the component is in a usable state before interaction.- Specified by:
ensureComponentIsUsablein interfaceClickable<NumberField>
-
setValue
Set the given value for the component, as the user would type it. A value that violates the component's constraints ? outside min - max, off the step scale, or the empty value on a required field ? is committed all the same, because the browser commits it too and simply leaves the field invalid. Assert that outcome withisValid()instead of expecting this method to throw. Javadoc copied fromNumberFieldTester.setValue(java.lang.Number).- Parameters:
value- value to set- Throws:
IllegalStateException- if the component is not usable
-
clear
public void clear()Empties the field, as when the user deletes its contents (or clicks the clear button, where one is shown). Emptying is something the user can always do, so it needs no clear button: a field may legitimately end up invalid ? a required field, for instance ? once emptied. Javadoc copied fromNumberFieldTester.clear().- Throws:
IllegalStateException- if the component is not usable
-
clickClearButton
public void clickClearButton()Empties the field by clicking its clear button, as the user would. Unlikeclear(), which models selecting the contents and deleting them and is therefore always available, this requires the clear button to be visible ? a hidden clear button is not something the user can click. Javadoc copied fromNumberFieldTester.clickClearButton().- Throws:
IllegalStateException- if the component is not usable, or its clear button is not visible
-
isValid
public boolean isValid()Checks whether the field is currently valid, running the component's own default validator ? required, min, max and, when it is explicitly set, the step scale ? and honouring an invalid state set from the outside, as aBinderor a custom validator does.A field can hold a value that does not satisfy its constraints ? the user can type one,
commits it as the browser does, and the value can also be set on the server or stepped from an unaligned value ? so a test asserting on validation state checks this instead of expecting a value to be refused. Javadoc copied frominvalid reference
#setValue(Number)NumberFieldTester.isValid().- Returns:
trueif the field is not marked invalid and its current value satisfies the constraints of the field
-
stepUp
public void stepUp()Simulates the user clicking the step up button once.The step buttons are only rendered when
AbstractNumberField.setStepButtonsVisible(boolean)is enabled, so stepping a field without them throws anIllegalStateException. Javadoc copied fromNumberFieldTester.stepUp().- Throws:
IllegalStateException- if the component is not usable, the step buttons are not visible, or the new value would be outside the min - max range
-
stepUp
public void stepUp(int times) Simulates the user clicking the step up button the given number of times.Each click sets the value on its own, so one value change event is fired per click, as in the browser. If a click cannot be performed, the value keeps the steps that were applied before it. Javadoc copied from
NumberFieldTester.stepUp(int).- Parameters:
times- how many times the step up button is clicked, must be a positive integer- Throws:
IllegalArgumentException- iftimesis not positiveIllegalStateException- if the component is not usable, the step buttons are not visible, or the new value would be outside the min - max range
-
stepDown
public void stepDown()Simulates the user clicking the step down button once.The step buttons are only rendered when
AbstractNumberField.setStepButtonsVisible(boolean)is enabled, so stepping a field without them throws anIllegalStateException. Javadoc copied fromNumberFieldTester.stepDown().- Throws:
IllegalStateException- if the component is not usable, the step buttons are not visible, or the new value would be outside the min - max range
-
stepDown
public void stepDown(int times) Simulates the user clicking the step down button the given number of times.Each click sets the value on its own, so one value change event is fired per click, as in the browser. If a click cannot be performed, the value keeps the steps that were applied before it. Javadoc copied from
NumberFieldTester.stepDown(int).- Parameters:
times- how many times the step down button is clicked, must be a positive integer- Throws:
IllegalArgumentException- iftimesis not positiveIllegalStateException- if the component is not usable, the step buttons are not visible, or the new value would be outside the min - max range
-