summaryrefslogtreecommitdiff
path: root/t/08-filter-early.t
diff options
context:
space:
mode:
Diffstat (limited to 't/08-filter-early.t')
-rw-r--r--t/08-filter-early.t31
1 files changed, 31 insertions, 0 deletions
diff --git a/t/08-filter-early.t b/t/08-filter-early.t
new file mode 100644
index 0000000..3471a4d
--- /dev/null
+++ b/t/08-filter-early.t
@@ -0,0 +1,31 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+use Devel::StackTrace;
+
+{
+ my $trace = foo( [] );
+ is(
+ 0 + grep( ref, map { $_->args } $trace->frames ), 0,
+ 'args stringified in trace'
+ );
+}
+
+done_testing();
+
+sub foo {
+ return Devel::StackTrace->new(
+ frame_filter => sub {
+ my $frame = shift;
+ if ( $frame->{caller}[3] eq "main::foo" ) {
+ ok( ref $frame->{args}[0], 'ref arg passed to filter' );
+ }
+ 1;
+ },
+ filter_frames_early => 1,
+ no_refs => 1,
+ );
+}
+