]> git.vpit.fr Git - perl/modules/re-engine-Plugin.git/blobdiff - t/30-callbacks/free.t
Enable free callbcks
[perl/modules/re-engine-Plugin.git] / t / 30-callbacks / free.t
diff --git a/t/30-callbacks/free.t b/t/30-callbacks/free.t
new file mode 100644 (file)
index 0000000..b3f1660
--- /dev/null
@@ -0,0 +1,42 @@
+=pod
+
+Test the C<free> 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 $@;
+}