NAME
   Test::Expect - Automated driving and testing of terminal-based programs

SYNOPSIS
     # in a t/*.t file:
     use Test::Expect;
     use Test::More tests => 13;
     expect_run(
       command => "perl testme.pl",
       prompt  => 'testme: ',
       quit    => 'quit',
     );
     expect("ping", "pong", "expect");
     expect_send("ping", "expect_send");
     expect_is("* Hi there, to testme", "expect_is");
     expect_like(qr/Hi there, to testme/, "expect_like");

DESCRIPTION
   Test::Expect is a module for automated driving and testing of
   terminal-based programs. It is handy for testing interactive programs
   which have a prompt, and is based on the same concepts as the Tcl Expect
   tool. As in Expect::Simple, the Expect object is made available for
   tweaking.

   Test::Expect is intended for use in a test script.

SUBROUTINES
 expect_run
   The expect_run subroutine sets up Test::Expect. You must pass in the
   interactive program to run, what the prompt of the program is, and which
   command quits the program:

     expect_run(
       command => "perl testme.pl",
       prompt  => 'testme: ',
       quit    => 'quit',
     );

 expect
   The expect subroutine is the catch all subroutine. You pass in the
   command, the expected output of the subroutine and an optional comment.

     expect("ping", "pong", "expect");

 expect_send
   The expect_send subroutine sends a command to the program. You pass in
   the command and an optional comment.

     expect_send("ping", "expect_send");

 expect_is
   The expect_is subroutine tests the output of the program like
   Test::More's is. It has an optional comment:

     expect_is("* Hi there, to testme", "expect_is");

 expect_like
   The expect_like subroutine tests the output of the program like
   Test::More's like. It has an optional comment:

     expect_like(qr/Hi there, to testme/, "expect_like");

 expect_handle
   This returns the Expect object.

SEE ALSO
   Expect, Expect::Simple.

AUTHOR
   Leon Brocard, "<[email protected]>"

COPYRIGHT
   Copyright (C) 2005, Leon Brocard

   This module is free software; you can redistribute it or modify it under
   the same terms as Perl itself.