Sparrow6.git | examples/task-checks/ | regex-interpolation.raku


#!perl6

use Sparrow6::Task::Check;
use File::Directory::Tree;

my $data = q:to/END/; 
  foo: 100

  bar:  200
                
  baz:

END

my $cache-dir = "/tmp/.task-check/" ~ 5.rand.Int.Str;

if $cache-dir.IO ~~ :e {
  empty-directory $cache-dir;
  say "cache dir $cache-dir removed";
}

mkdir $cache-dir;

my $tc = Sparrow6::Task::Check::Api.new(
  cache-root-dir => $cache-dir,
  data => $data.lines.Array,
);

my $check = q:to/END/;
  regexp: "foo:" \s+ 100
  regexp: bar\: \s+ 200
  regexp: "bar:" \s+ 200
  regexp: 'bar:' \s+ 200
END

$tc.validate($check.lines);

my $check-pass = True;

for $tc.results -> $r {
  if $r<type> eq "check-expression" {
    say "{$r<message>} {$r<status>}";
    $check-pass = False unless $r<status>;
  }
}

exit(2) unless $check-pass;