This package provides an Emacs Lisp macro, with-simulated-input, which
evaluates one or more forms while simulating a sequence of input events for
those forms to read. The result is the same as if you had evaluated the
forms and then manually typed in the same input. This macro is useful for
non-interactive testing of normally interactive commands and functions,
such as completing-read.