-#!/usr/bin/perl
-
use strict;
use warnings;
-use Test::More tests => 72;
+use Test::More;
use File::Spec;
use Scalar::Util 'reftype';
+use Class::MOP;
BEGIN {
- use_ok('Class::MOP');
- require_ok(File::Spec->catdir('examples', 'ArrayBasedStorage.pod'));
+ require_ok(File::Spec->catfile('examples', 'ArrayBasedStorage.pod'));
}
{
}
package Bar;
+ use metaclass (
+ 'instance_metaclass' => 'ArrayBasedStorage::Instance',
+ );
use strict;
use warnings;
));
package Baz;
+ use metaclass (
+ 'instance_metaclass' => 'ArrayBasedStorage::Instance',
+ );
use strict;
use warnings;
));
package Bar::Baz;
+ use metaclass (
+ 'instance_metaclass' => 'ArrayBasedStorage::Instance',
+ );
use strict;
use warnings;
is($baz->get_bar(), 'FOO is BAR', '... Bar::Baz::bar has been initialized');
is($baz->bling(), 'Baz::bling', '... Bar::Baz::bling has been initialized');
+Foo->meta->add_attribute( forgotten => is => "rw" );
+
+my $new_baz = Bar::Baz->new;
+
+cmp_ok( scalar(@$new_baz), ">", scalar(@$baz), "additional slot due to refreshed meta instance" );
+done_testing;