#!perl

use strict;
use warnings;

use Test::More tests => 6;
use File::Spec;

# extra tests for findorule.  these are more for testing the parsing code.

sub run ($) {
    my $expr = shift;
    my $script = File::Spec->catfile(
        File::Spec->curdir(), "scripts", "findorule"
    );

    [ sort split /\n/, `$^X -Mblib $script $expr 2>&1` ];
}

is_deeply(run 't -file -name foobar', [ 't/foobar' ],
          '-file -name foobar');

is_deeply(run 't -maxdepth 0 -directory',
          [ 't' ], 'last clause has no args');


{
    local $TODO = "Win32 cmd.exe hurts my brain"
      if ($^O =~ m/Win32/ || $^O eq 'dos');

    is_deeply(run 't -file -name \( foobar \*.t \)',
              [ qw( t/File-Find-Rule.t t/findorule.t t/foobar ) ],
              'grouping ()');

    is_deeply(run 't -name \( -foo foobar \)',
              [ 't/foobar' ], 'grouping ( -literal )');
}

is_deeply(run 't -file -name foobar baz',
          [ "unknown option 'baz'" ], 'no implicit grouping');

is_deeply(run 't -maxdepth 0 -name -file',
          [], 'terminate at next -');
