+{
+ local %mg;
+
+ eval q{ Hlagh->shoot() };
+
+ is $@, '', 'stash: valid method call ran fine';
+ is_deeply \%mg, {
+ fetch => [ qw/shoot/ ],
+ }, 'stash: valid method call';
+}
+
+{
+ local %mg;
+
+ eval q[
+ package Hlagher;
+ our @ISA;
+ BEGIN { @ISA = 'Hlagh' }
+ Hlagher->shoot()
+ ];
+
+ is $@, '', 'inherited valid method call ran fine';
+ is_deeply \%mg, {
+ fetch => [ qw/ISA shoot/ ],
+ }, 'stash: direct method call';
+}
+
+{
+ local %mg;
+
+ eval q{ Hlagh->unknown() };
+
+ like $@, qr/^Can't locate object method "unknown" via package "Hlagh"/, 'stash: invalid method call croaked';
+ is_deeply \%mg, {
+ fetch => [ qw/unknown/ ],
+ store => [ qw/unknown AUTOLOAD/ ],
+ }, 'stash: invalid method call';
+}
+
+{
+ local %mg;
+
+ eval q{ Hlagher->also_unknown() };
+
+ like $@, qr/^Can't locate object method "also_unknown" via package "Hlagher"/, 'stash: invalid inherited method call croaked';
+ is_deeply \%mg, {
+ fetch => [ qw/also_unknown AUTOLOAD/ ],
+ }, 'stash: invalid method call';
+}
+