Class TextFieldTester<T extends TextFieldBase<T,V>,V>

java.lang.Object
com.vaadin.browserless.ComponentTester<T>
com.vaadin.flow.component.textfield.TextFieldTester<T,V>
Type Parameters:
T - component type
V - value type
All Implemented Interfaces:
Clickable<T>

public class TextFieldTester<T extends TextFieldBase<T,V>,V> extends ComponentTester<T>
Tester for TextField components.
Since:
1.0
  • Constructor Details

    • TextFieldTester

      public TextFieldTester(T component)
      Wrap given component for testing.
      Parameters:
      component - target component
  • Method Details

    • setValue

      public void setValue(V value)
      Set the given value for the component, as the user would type it.

      A value that only breaks a validation constraint ? shorter than minLength, not matching pattern, 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 with HasValidation.isInvalid() instead of expecting this method to throw.

      A value the user physically cannot type is refused: the browser truncates what is over maxLength and filters out the keystrokes allowedCharPattern does not match, so a longer value or a disallowed character fails with an IllegalArgumentException. So does null on a field whose empty value is not null, as a text input has no null state ? emptying the field is clear().

      Parameters:
      value - value to set
      Throws:
      IllegalStateException - if the component is not usable
      IllegalArgumentException - if the value is one the user could not have typed
    • 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.

      Throws:
      IllegalStateException - if the component is not usable
    • clickClearButton

      public void clickClearButton()
      Empties the field by clicking its clear button, as the user would.

      Unlike clear(), 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.

      Throws:
      IllegalStateException - if the component is not usable, or its clear button is not visible