summaryrefslogtreecommitdiff
path: root/test/50-efa.t
diff options
context:
space:
mode:
Diffstat (limited to 'test/50-efa.t')
-rw-r--r--test/50-efa.t47
1 files changed, 43 insertions, 4 deletions
diff --git a/test/50-efa.t b/test/50-efa.t
index 3239c02..79ed907 100644
--- a/test/50-efa.t
+++ b/test/50-efa.t
@@ -2,14 +2,23 @@
use strict;
use warnings;
use 5.010;
-use Test::Command tests => 15;
+use Test::Command tests => 30;
-my $efa = 'bin/efa';
+my $efa = 'bin/efa';
my $testarg = "E HBf MH HBf";
my $re_usage = qr{Insufficient to/from arguments, see \S*efa --help for usage};
my $re_version = qr{\S*efa version \S+};
+my $err_exclude = "Invalid argument. See manpage for --exclude usage\n";
+my $err_prefer = "Invalid argument. Usage: --prefer speed|nowait|nowalk\n";
+my $err_include = "Invalid argument. Usage: --include local|ic|ice\n";
+my $err_time = "Invalid argument. Usage: --time HH:MM\n";
+my $err_date = "Invalid argument: Usage: --date DD.MM[.YYYY]\n";
+
+my $err_walk_speed
+ = "Invalid argument. Uaseg: --walk-speed normal|fast|slow\n";
+
# Usage on invalid invocation
my $cmd = Test::Command->new(cmd => "$efa");
@@ -23,19 +32,49 @@ $cmd->exit_isnt_num(0);
$cmd->stdout_is_eq('');
$cmd->stderr_like($re_usage);
+$cmd = Test::Command->new(cmd => "$efa E HBf Du HBf MH");
+
+$cmd->exit_isnt_num(0);
+$cmd->stdout_is_eq('');
+$cmd->stderr_like($re_usage);
+
+$cmd = Test::Command->new(cmd => "$efa --exclude invalid $testarg");
+
+$cmd->exit_isnt_num(0);
+$cmd->stdout_is_eq('');
+$cmd->stderr_is_eq($err_exclude);
+
+$cmd = Test::Command->new(cmd => "$efa --prefer invalid $testarg");
+
+$cmd->exit_isnt_num(0);
+$cmd->stdout_is_eq('');
+$cmd->stderr_is_eq($err_prefer);
+
+$cmd = Test::Command->new(cmd => "$efa --include invalid $testarg");
+
+$cmd->exit_isnt_num(0);
+$cmd->stdout_is_eq('');
+$cmd->stderr_is_eq($err_include);
+
+$cmd = Test::Command->new(cmd => "$efa --walk-speed invalid $testarg");
+
+$cmd->exit_isnt_num(0);
+$cmd->stdout_is_eq('');
+$cmd->stderr_is_eq($err_walk_speed);
+
# (primitive) argument checking for --time
$cmd = Test::Command->new(cmd => "$efa --time 35:12 $testarg");
$cmd->exit_isnt_num(0);
$cmd->stdout_is_eq('');
-$cmd->stderr_is_eq("Invalid argument. Usage: --time HH:MM\n");
+$cmd->stderr_is_eq($err_time);
# (primitive) argument checking for --date
$cmd = Test::Command->new(cmd => "$efa --date 11.23.2010 $testarg");
$cmd->exit_isnt_num(0);
$cmd->stdout_is_eq('');
-$cmd->stderr_is_eq("Invalid argument: Usage: --date DD.MM[.YYYY]\n");
+$cmd->stderr_is_eq($err_date);
# --version
$cmd = Test::Command->new(cmd => "$efa --version");