follow alternative rspace entries without backtracking, explicitly resolve
[scpubgit/DX.git] / xt / all_attributes_typed.t
CommitLineData
ae884abd 1use strictures 2;
2use Test::More;
3use IO::All;
4use Role::Tiny;
5use Moose;
6
7sub check_module {
8 my ($module) = @_;
9 if ($module->isa('Moo::Object')) {
10 my $meta = $module->meta;
11 foreach my $name ($meta->get_attribute_list) {
12 my $attr = $meta->get_attribute($name);
13 if (my $tc = $attr->type_constraint) {
14 pass("${module}->${name} isa ${tc}");
15 } else {
16 fail("${module}->${name} UNTYPED");
17 }
18 }
19 }
20}
21
22foreach my $file (io('lib')->all_files(0)) {
23 (my $name = $file->name) =~ s/^lib\///;
24 require $name;
25 (my $module = join '::', split '/', $name) =~ s/\.pm$//;
26 check_module($module);
27}
28
29done_testing;