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
}