diff options
Diffstat (limited to 't/07-no-args.t')
-rw-r--r-- | t/07-no-args.t | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/t/07-no-args.t b/t/07-no-args.t new file mode 100644 index 0000000..7bdc166 --- /dev/null +++ b/t/07-no-args.t @@ -0,0 +1,45 @@ +use strict; +use warnings; + +use Test::More; + +use Devel::StackTrace; + +{ + my $trace = foo( 1, 2 ); + is_deeply( + [ map { [ $_->args() ] } $trace->frames() ], + [ + ['Devel::StackTrace'], + [ 3, 4 ], + [ 1, 2 ], + ], + 'trace includes args' + ); + + $trace = foo( 0, 2 ); + is_deeply( + [ map { [ $_->args() ] } $trace->frames() ], + [ + [], + [], + [], + ], + 'trace does not include args' + ); + +} + +done_testing(); + +sub foo { + $_[0] ? bar( 3, 4 ) : baz( 3, 4 ); +} + +sub bar { + return Devel::StackTrace->new(); +} + +sub baz { + return Devel::StackTrace->new( no_args => 1 ); +} |