Blame t/split_like_shell.t
|
Packit |
b7b64d |
#!/usr/bin/perl
|
|
Packit |
b7b64d |
|
|
Packit |
b7b64d |
use strict;
|
|
Packit |
b7b64d |
use warnings FATAL => 'all';
|
|
Packit |
b7b64d |
use Test::More;
|
|
Packit |
b7b64d |
use ExtUtils::Helpers qw/split_like_shell/;
|
|
Packit |
b7b64d |
|
|
Packit |
b7b64d |
my @unix_splits =
|
|
Packit |
b7b64d |
(
|
|
Packit |
b7b64d |
{ q{one t'wo th'ree f"o\"ur " "five" } => [ 'one', 'two three', 'fo"ur ', 'five' ] },
|
|
Packit |
b7b64d |
{ q{ foo bar } => [ 'foo', 'bar' ] },
|
|
Packit |
b7b64d |
{ q{ D\'oh f\{g\'h\"i\]\* } => [ "D'oh", "f{g'h\"i]*" ] },
|
|
Packit |
b7b64d |
{ q{ D\$foo } => [ 'D$foo' ] },
|
|
Packit |
b7b64d |
{ qq{one\\\ntwo} => [ "one\ntwo" ] }, # TODO
|
|
Packit |
b7b64d |
);
|
|
Packit |
b7b64d |
|
|
Packit |
b7b64d |
plan tests => 2 * @unix_splits;
|
|
Packit |
b7b64d |
foreach my $test (@unix_splits) {
|
|
Packit |
b7b64d |
do_split_tests($test);
|
|
Packit |
b7b64d |
}
|
|
Packit |
b7b64d |
|
|
Packit |
b7b64d |
sub do_split_tests {
|
|
Packit |
b7b64d |
my ($test) = @_;
|
|
Packit |
b7b64d |
|
|
Packit |
b7b64d |
my ($string, $expected) = %$test;
|
|
Packit |
b7b64d |
my @result = split_like_shell($string);
|
|
Packit |
b7b64d |
$string =~ s/\n/\\n/g;
|
|
Packit |
b7b64d |
is(grep( !defined(), @result ), 0, "\"$string\" result all defined");
|
|
Packit |
b7b64d |
is_deeply(\@result, $expected) or
|
|
Packit |
b7b64d |
diag("split_like_shell error \n>$string< is not splitting as >" . join("|", @$expected) . '<');
|
|
Packit |
b7b64d |
}
|