Home > Software design >  How to test the prompt command?
How to test the prompt command?

Time:08-30

my $x = prompt "Are you OK? ";
say $x ~~ 'y' ?? "Great!" !! "Bummer";

use Test;

What tests can a put in a t/ file? How can it respond to the prompt?

CodePudding user response:

I don't know how to do it directly(probably by capturing handles), so I leave that to others, but you can put your code in a script file and test it with Test::Run module:

# script.raku

my $x = prompt "Are you OK? ";
say $x ~~ 'y' ?? "Great!" !! "Bummer";
# script.t

use Test::Run:auth<zef:CIAvash>:ver<0.2.*> :runs_ok;

runs_ok :args«$*EXECUTABLE script.raku», :in<y>, :out(*.contains: 'Are you OK? Great!');
runs_ok :args«$*EXECUTABLE script.raku», :in<n>, :out(*.contains: 'Are you OK? Bummer');
  • Related