Module Eio_mock.Handler

Control how a mock responds.

This module is mostly useful when writing custom mocks. Individual mocks usually provide convenience wrappers around this.

type 'a t

A handler that provides values of type 'a.

type 'a actions = 'a Action.t list
val make : 'a Action.t -> 'a t

make default_action is a new handler that initially always runs default_action.

val set_handler : 'a t -> (unit -> 'a) -> unit

set_handler t fn sets (replaces) the function to be called whenever the handler is run.

val seq : 'a t -> 'a actions -> unit

seq t actions sets a handler function that performs the next action in actions on each call. When there are no more actions, it runs the default handler.

val run : 'a t -> 'a

run t is used by mocks to run their handlers.

val run_default_action : 'a t -> 'a

run_default_action t runs the default handler passed to make.