summaryrefslogtreecommitdiff
path: root/t/09-skip-frames.t
diff options
context:
space:
mode:
Diffstat (limited to 't/09-skip-frames.t')
-rw-r--r--t/09-skip-frames.t41
1 files changed, 41 insertions, 0 deletions
diff --git a/t/09-skip-frames.t b/t/09-skip-frames.t
new file mode 100644
index 0000000..3834e68
--- /dev/null
+++ b/t/09-skip-frames.t
@@ -0,0 +1,41 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+use Devel::StackTrace;
+
+{
+ my $trace = baz();
+ my @f;
+ while ( my $f = $trace->next_frame ) { push @f, $f; }
+
+ my $cnt = scalar @f;
+ is(
+ $cnt, 2,
+ "Trace should have 2 frames"
+ );
+
+ is(
+ $f[0]->subroutine, 'main::bar',
+ "First frame subroutine should be main::bar"
+ );
+ is(
+ $f[1]->subroutine, 'main::baz',
+ "First frame subroutine should be main::baz"
+ );
+}
+
+done_testing();
+
+sub foo {
+ return Devel::StackTrace->new( skip_frames => 2 );
+}
+
+sub bar {
+ foo();
+}
+
+sub baz {
+ bar();
+}