6 use TAP::Parser::Utils qw( split_shell );
10 { name => 'Bare words',
11 in => 'bare words are here',
12 out => [ 'bare', 'words', 'are', 'here' ],
14 { name => 'Single quotes',
15 in => "'bare' 'words' 'are' 'here'",
16 out => [ 'bare', 'words', 'are', 'here' ],
18 { name => 'Double quotes',
19 in => '"bare" "words" "are" "here"',
20 out => [ 'bare', 'words', 'are', 'here' ],
23 in => '\ "ba\"re" \'wo\\\'rds\' \\\\"are" "here"',
24 out => [ ' ', 'ba"re', "wo'rds", '\\are', 'here' ],
27 in => '-e "system(shift)"',
28 out => [ '-e', 'system(shift)' ],
52 plan tests => 1 * @schedule;
54 for my $test (@schedule) {
55 my $name = $test->{name};
56 my @got = split_shell( $test->{in} );
57 unless ( is_deeply \@got, $test->{out}, "$name: parse OK" ) {
59 diag( Dumper( { want => $test->{out}, got => \@got } ) );