version up
[mrsh.git] / t / 10_routed_usersubst.t
bloba6e36b42f922168e5c5b13a15fb77342d1b55b30
2 use strict;
3 use warnings;
5 use Test;
6 use App::MrShell;
8 plan tests => 6;
10 my $shell = App::MrShell->new;
11 my @cmd = (qw(a b [%u]c [%u]%u %u d %h));
13 $" = ")(";
15 DIRECT: {
16     my $host   = "nombre";
17     my @result = $shell->set_subst_vars('%h'=>$host)->subst_cmd_vars(@cmd);
18     ok("(@result)", '(a)(b)(%u)(d)(nombre)');
21 ROUTED: {
22     my $host   = "via1!via2!nombre";
23     my @result = $shell->set_subst_vars('%h'=>$host)->subst_cmd_vars(@cmd);
24     ok("(@result)", '(a)(b)(%u)(d)(via1)(a)(b)(%u)(d)(via2)(a)(b)(%u)(d)(nombre)');
27 DIRECTWU: {
28     my $host   = 'A@nombre';
29     my @result = $shell->set_subst_vars('%h'=>$host)->subst_cmd_vars(@cmd);
30     ok("(@result)", '(a)(b)(c)(A)(A)(d)(nombre)');
33 ROUTEDWU: {
34     my $host   = 'A@via1!B@via2!C@nombre';
35     my @result = $shell->set_subst_vars('%h'=>$host)->subst_cmd_vars(@cmd);
36     ok("(@result)", '(a)(b)(c)(A)(A)(d)(via1)(a)(b)(c)(B)(B)(d)(via2)(a)(b)(c)(C)(C)(d)(nombre)');
39 ROUTEDWU: {
40     my $host   = 'via1!via2!C@nombre'; # this failed for me IRL
41     my @cmd    = (qw(ssh [%u]-l [%u]%u %h));
42     my @result = $shell->set_subst_vars('%h'=>$host)->subst_cmd_vars(@cmd);
43     ok("(@result)", '(ssh)(via1)(ssh)(via2)(ssh)(-l)(C)(nombre)');
46 ROUTEDWU: {
47     my $host   = 'via1!via2!C@nombre'; # no-no, *this* failed for me IRL
48     my @cmd    = (qw(ssh [%u]-l []%u %h));
49     my @result = $shell->set_subst_vars('%h'=>$host)->subst_cmd_vars(@cmd);
50     ok("(@result)", '(ssh)(via1)(ssh)(via2)(ssh)(-l)(C)(nombre)');