Class PopupOwnerContract

java.lang.Object
limn.testing.a11y.PopupOwnerContract

public final class PopupOwnerContract extends Object
What every widget of the POPUP_OWNER shape owes a reader, as named cases over a PopupOwnerSubject: it says HAS_POPUP before anything has happened (a disclosure, which opens in place, says it nowhere); its open state is the facet's and the API's; closed, it offers EXPAND and not COLLAPSE; EXPAND opens it and something appears in the tree, described where it lives; open, it never offers EXPAND, and offers COLLAPSE unless a layer above owns the input, in which case it offers nothing; a second EXPAND changes nothing; closing through the API brings EXPAND back; and the node keeps its id across the round trip. A refusal is read as an effect (see ValueContract).
  • Method Details

    • cases

      public static List<ContractCase> cases(PopupOwnerSubject subject, UiRuntime runtime)
      The cases, in the order the class description gives them.
      Parameters:
      subject - the widget under contract
      runtime - the installed runtime the harness drains verbs through
      Returns:
      the cases; a test runs each as a dynamic test