#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
use ok 'Devel::Events::Filter::Drop';
use Devel::Events::Handler::Callback;
{
my @events;
my $f = Devel::Events::Filter::Drop->new(
match => "foo",
handler => Devel::Events::Handler::Callback->new(sub { push @events, [@_] }),
);
$f->new_event( foo => bar => 42 );
$f->new_event( bar => gorch => 43 );
is_deeply( \@events, [ [ bar => gorch => 43 ] ], "filtered" );
}
{
my @events;
my $f = Devel::Events::Filter::Drop->new(
match => "foo",
non_matching => 1,
handler => Devel::Events::Handler::Callback->new(sub { push @events, [@_] }),
);
$f->new_event( foo => bar => 42 );
$f->new_event( bar => gorch => 43 );
is_deeply( \@events, [ [ foo => bar => 42 ] ], "non matching" );
}