NoRedInk / noredink-ui / Nri.Test.KeyboardHelpers.V1

KeyboardHelpers provides a set of functions to simulate keyboard events for testing Elm programs.

Basic helpers

pressKey : { targetDetails : List ( String, Json.Encode.Value ), keyCode : Basics.Int, shiftKey : Basics.Bool } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a "keydown" event on the given element.

releaseKey : { targetDetails : List ( String, Json.Encode.Value ), keyCode : Basics.Int, shiftKey : Basics.Bool } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a "keyup" event on the given element.

Common helpers

pressTab : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a tab key press on the given element.

pressTabBack : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a shift-tab key press on the given element.

pressEsc : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate an escape key press on the given element.

pressSpace : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a spacebar key press on the given element.

pressDownArrow : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a down arrow key press on the given element.

pressRightArrow : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a right arrow key press on the given element.

pressLeftArrow : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a left arrow key press on the given element.

pressShiftRight : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a right arrow key press with the shift key held down on the given element.

pressShiftLeft : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a left arrow key press with the shift key held down on the given element.

releaseRightArrow : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a right arrow key release on the given element.

releaseLeftArrow : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a left arrow key release on the given element.

releaseShiftRight : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a right arrow key release with the shift key held down on the given element.

releaseShiftLeft : { targetDetails : List ( String, Json.Encode.Value ) } -> List Test.Html.Selector.Selector -> ProgramTest model msg effect -> ProgramTest model msg effect

Simulate a left arrow key release with the shift key held down on the given element.