use strict;
use warnings;

use Test::More;
use Test::Warnings;

use Data::DynamicValidator qw/validator/;

my $data = {
    n1 => 3,
    o2 => 4,
    n4 => 5,
};

my $errors = validator($data)->(
    on      => "/`*[key =~ /^o.+/]`",
    should  => sub { @_ && $_[0] >= 30 },
    because => "...",
)->errors;

is @$errors, 1, "got 1 error as expected";
is $errors->[0]->path, "/o2", "path has been expanded";

done_testing;