Module-Generate
view release on metacpan or search on metacpan
t/02-cover.t view on Meta::CPAN
ok($class->use('Foo'));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{USE}, ['Foo']);
ok($class->use('Bar'));
%class = %Module::Generate::CLASS;
is_deeply($class{Test}->{USE}, ['Foo', 'Bar']);
};
subtest 'base' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->base('Foo'));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{BASE}, ['Foo']);
ok($class->base('Bar'));
%class = %Module::Generate::CLASS;
is_deeply($class{Test}->{BASE}, ['Foo', 'Bar']);
};
subtest 'parent' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->parent('Foo'));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{PARENT}, ['Foo']);
ok($class->parent('Bar'));
is_deeply($class{Test}->{PARENT}, ['Foo', 'Bar']);
};
subtest 'require' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->require('Foo'));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{REQUIRE}, ['Foo']);
ok($class->require('Bar'));
%class = %Module::Generate::CLASS;
is_deeply($class{Test}->{REQUIRE}, ['Foo', 'Bar']);
};
subtest 'our' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->our('$foo'));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{GLOBAL}, ['$foo']);
ok($class->our('$bar'));
%class = %Module::Generate::CLASS;
is_deeply($class{Test}->{GLOBAL}, ['$foo', '$bar']);
};
subtest 'begin' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->begin($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{BEGIN}, $ref);
};
subtest 'unitcheck' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->unitcheck($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{UNITCHECK}, $ref);
};
subtest 'check' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->check($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{CHECK}, $ref);
};
subtest 'init' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->init($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{INIT}, $ref);
};
subtest 'end' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->end($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{END}, $ref);
};
subtest 'new' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->new);
my $ref = sub { 1; };
ok($class->new($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{SUBS}->{new}->{CODE}, $ref);
};
subtest 'accessor' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->accessor('foo'));
my $ref = sub { 1; };
ok($class->accessor('foo', $ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{SUBS}->{foo}->{CODE}, $ref);
};
subtest 'macro' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->macro('test', '{ 1 }'));
ok($class->macro('test', sub { 1 }));
};
subtest 'sub' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->sub('bar'));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{SUBS}->{bar}, {INDEX => 5, TEST => [['can_ok', '$obj', "'bar'"]]});
};
subtest 'code' => sub {
ok(my $class = Module::Generate->class('Test'));
ok($class->code('{ 1 }'));
( run in 0.659 second using v1.01-cache-2.11-cpan-d7f47b0818f )