diff options
-rw-r--r-- | MANIFEST | 1 | ||||
-rw-r--r-- | lib/perl5db.t | 28 | ||||
-rw-r--r-- | lib/perl5db/t/test-m-statement-1 | 43 |
3 files changed, 70 insertions, 2 deletions
@@ -4338,6 +4338,7 @@ lib/perl5db/t/symbol-table-bug Tests for the Perl debugger lib/perl5db/t/taint Tests for the Perl debugger lib/perl5db/t/test-l-statement-1 Tests for the Perl debugger lib/perl5db/t/test-l-statement-2 Tests for the Perl debugger +lib/perl5db/t/test-m-statement-1 Tests for the Perl debugger lib/perl5db/t/test-r-statement Tests for the Perl debugger lib/perl5db/t/test-w-statement-1 Tests for the Perl debugger lib/perl5db/t/uncalled-subroutine Tests for the Perl debugger diff --git a/lib/perl5db.t b/lib/perl5db.t index 0e00d49aea..086c46697a 100644 --- a/lib/perl5db.t +++ b/lib/perl5db.t @@ -28,7 +28,7 @@ BEGIN { } } -plan(86); +plan(88); my $rc_filename = '.perldb'; @@ -2049,7 +2049,7 @@ sub _calc_trace_wrapper ); } -# Add a test for H (without arguments) +# Test the m statement. { my $wrapper = DebugWrap->new( { @@ -2075,6 +2075,30 @@ sub _calc_trace_wrapper ); } +# Test the m statement. +{ + my $wrapper = DebugWrap->new( + { + cmds => + [ + 'b 41', + 'c', + 'm $obj', + 'q', + ], + prog => '../lib/perl5db/t/test-m-statement-1', + } + ); + + $wrapper->contents_like(qr#^greet$#ms, + "Test m for obj - 1", + ); + + $wrapper->contents_like(qr#^via UNIVERSAL: can$#ms, + "Test m for obj - 1", + ); +} + END { 1 while unlink ($rc_filename, $out_fn); } diff --git a/lib/perl5db/t/test-m-statement-1 b/lib/perl5db/t/test-m-statement-1 new file mode 100644 index 0000000000..a699ed342e --- /dev/null +++ b/lib/perl5db/t/test-m-statement-1 @@ -0,0 +1,43 @@ +use strict; +use warnings; + +package MyClass; + +sub new +{ + my $class = shift; + + my $self = bless {}, $class; + + $self->_init(@_); + + return $self; +} + +sub _init +{ + my $self = shift; + + $self->{foo} = 'bar'; + + return; +} + +sub greet +{ + my ($self, $msg) = @_; + + print "$msg - $self->{foo}\n"; + + return; +} + +1; + +package main; + +my $obj = MyClass->new; + +$obj->greet("Hello"); + +1; |