Require Dist::Zilla 4.200016+
[gitmo/Moose.git] / t / cmop / anon_packages.t
CommitLineData
11655a15 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More;
5use Test::Fatal;
6
7use Class::MOP;
8
9{
10 my $name;
11 {
12 my $anon = Class::MOP::Package->create_anon;
13 $name = $anon->name;
14 $anon->add_package_symbol('&foo' => sub {});
15 can_ok($name, 'foo');
16 ok($anon->is_anon, "is anon");
17 }
18
19 ok(!$name->can('foo'), "!$name->can('foo')");
20}
21
22{
23 my $name;
24 {
25 my $anon = Class::MOP::Package->create_anon(weaken => 0);
26 $name = $anon->name;
27 $anon->add_package_symbol('&foo' => sub {});
28 can_ok($name, 'foo');
29 ok($anon->is_anon, "is anon");
30 }
31
32 can_ok($name, 'foo');
33}
34
35{
36 like(exception { Class::MOP::Package->create_anon(cache => 1) },
37 qr/^Packages are not cacheable/,
38 "can't cache anon packages");
39}
40
41done_testing;