Class SplitLayoutTester

  • All Implemented Interfaces:
    com.vaadin.browserless.Clickable

    
    public class SplitLayoutTester<T extends SplitLayout>
    extends ComponentTester<T>
                        

    Tester for SplitLayout components.

    Simulates the user dragging the splitter and gives access to the components shown in the primary and secondary splits.

    Since:

    25.3

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
      public final T component
    • Constructor Summary

      Constructors 
      Constructor Description
      SplitLayoutTester(T component) Wrap given component for testing.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void dragSplitterTo(double position) Simulates the user dragging the splitter so that the primary split gets the given percentage of the available space.
      Double getSplitterPosition() Gets the relative position of the splitter, as a percentage between 0 and 100 of the space given to the primary split.
      Component getPrimaryComponent() Gets the component shown in the primary split.
      Component getSecondaryComponent() Gets the component shown in the secondary split.
      <R extends Component> ComponentQuery<R> findInPrimary(Class<R> componentType) Searches the primary split for components of the given type.
      <R extends Component> ComponentQuery<R> findInSecondary(Class<R> componentType) Searches the secondary split for components of the given type.
      • Methods inherited from class com.vaadin.browserless.ComponentTester

        blur, ensureComponentIsUsable, find, focus, getComponent, isFocused, isUsable, setModal
      • Methods inherited from class com.vaadin.browserless.Clickable

        click, click, click, middleClick, middleClick, rightClick, rightClick
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SplitLayoutTester

        SplitLayoutTester(T component)

        Wrap given component for testing.

        Parameters:
        component - target component
    • Method Detail

      • dragSplitterTo

         void dragSplitterTo(double position)

        Simulates the user dragging the splitter so that the primary split gets the given percentage of the available space.

        The drag is delivered the same way the browser delivers it, so the component updates its splitter position and notifies splitter drag end listeners.

        The component rounds the position it derives from a drag to two decimals, so getSplitterPosition reports 33.33 after dragging to 33.333.

        Parameters:
        position - the new splitter position, as a percentage between 0 and 100
      • getSplitterPosition

        @Nullable() Double getSplitterPosition()

        Gets the relative position of the splitter, as a percentage between 0 and 100 of the space given to the primary split. A position that comes from a drag is rounded to two decimals by the component.

        Returns:

        the splitter position, or null if it has neither been set on the server nor been dragged by the user

      • getPrimaryComponent

        @Nullable() Component getPrimaryComponent()

        Gets the component shown in the primary split.

        Returns:

        the primary component, or null if the primary split is empty

      • getSecondaryComponent

        @Nullable() Component getSecondaryComponent()

        Gets the component shown in the secondary split.

        Returns:

        the secondary component, or null if the secondary split is empty

      • findInPrimary

         <R extends Component> ComponentQuery<R> findInPrimary(Class<R> componentType)

        Searches the primary split for components of the given type.

        The primary split holds the components added with addToPrimary. Components nested inside them are found too, so a button inside the layout filling the split is reached as well as a button added to the split directly.

        Parameters:
        componentType - the type of the components to search for
        Returns:

        a query for components of the given type in the primary split

      • findInSecondary

         <R extends Component> ComponentQuery<R> findInSecondary(Class<R> componentType)

        Searches the secondary split for components of the given type.

        The secondary split holds the components added with addToSecondary. Components nested inside them are found too, so a button inside the layout filling the split is reached as well as a button added to the split directly.

        Parameters:
        componentType - the type of the components to search for
        Returns:

        a query for components of the given type in the secondary split