X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Plugin.git;a=blobdiff_plain;f=t%2F30-callbacks%2Ffree.t;fp=t%2F30-callbacks%2Ffree.t;h=b3f1660d430754b17a12781bd8305851f6b2f4c3;hp=0000000000000000000000000000000000000000;hb=d4db715e455063f957068da7ac3bc548935f9ff5;hpb=908271b6e3cd68ae73cbd007d021af2670ed0558 diff --git a/t/30-callbacks/free.t b/t/30-callbacks/free.t new file mode 100644 index 0000000..b3f1660 --- /dev/null +++ b/t/30-callbacks/free.t @@ -0,0 +1,42 @@ +=pod + +Test the C callback + +=cut + +use strict; +use Test::More tests => 2; + +my $pat = 'pattern'; + +{ + use re::engine::Plugin ( + free => sub { + pass 'default free callback'; + }, + ); + + # Regexp destruction happens too late for Test::More, so do it in an eval. + eval q[ + "str" =~ /$pat/; + ]; + die $@ if $@; +} + +{ + use re::engine::Plugin ( + comp => sub { + my ($re) = @_; + + $re->callbacks( + free => sub { pass 'free callback set in the comp callback' }, + ); + } + ); + + # Ditto. + eval q[ + "str" =~ /$pat/; + ]; + die $@ if $@; +}