#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 5;
use VS::RuleEngine::Declare;
use VS::RuleEngine::Constants;
my $evaluate = 0;
my $skip_test = 0;
my $skip_test_a = 1;
my $dont_evaluate = 1;
my $output = 1;
my $engine = engine {
rule evaluate => does {
$evaluate = 1;
return KV_NO_MATCH;
};
rule skip_test => does {
$skip_test = 1;
return KV_SKIP;
};
rule dont_evaluate => does {
$dont_evaluate = 0;
return KV_MATCH;
};
action skip_test_a => does {
$skip_test_a = 0;
};
run skip_test_a => when qw(skip_test);
posthook quit => does {
return KV_ABORT;
};
output foo => does {
$output = 0;
}
};
$engine->run();
is($evaluate, 1, "Ran evalate rule");
is($skip_test, 1, "Ran skip_test rule");
is($dont_evaluate, 1, "Didn't run dont_evaluate rule");
is($skip_test_a, 1, "Didn't run skip_test_a rule");
is($output, 1, "Didn't run foo output");