diff options
Diffstat (limited to 't/09-skip-frames.t')
-rw-r--r-- | t/09-skip-frames.t | 41 |
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(); +} |