use strict;
use warnings;
-use FindBin qw($Bin);
-use File::Spec::Functions;
-use File::Spec::Unix (); # need this for %INC munging
use Test::More;
use lib 't/lib';
$Class::Accessor::Grouped::USE_XS = 1;
my $obj = AccessorGroupsSubclass->new;
+my $obj2 = AccessorGroups->new;
my $deferred_stub = AccessorGroupsSubclass->can('singlefield');
my @w;
is ($obj->$deferred_stub, 1, 'Get');
is ($obj->$deferred_stub(2), 2, 'ReSet');
is ($obj->$deferred_stub, 2, 'ReGet');
+
+ is ($obj->singlefield, 2, 'Normal get');
+ is ($obj2->singlefield, undef, 'Normal get on unrelated object');
}
+is (@w, 3, '3 warnings total');
+
is (
scalar (grep { $_ =~ /^\QDeferred version of method AccessorGroups::singlefield invoked more than once/ } @w),
- 3
- '3 warnings produced as expected on cached invocation during testing'
-);
+ 3,
+ '3 warnings produced as expected on cached invocation during testing',
+) or do {
+ require Data::Dumper;
+ diag "\n \$0 is: " . Data::Dumper->new([$0])->Useqq(1)->Terse(1)->Dump;
+};
done_testing;