trAvis - MANAGER
Edit File: 101-meta-attribute.t
#!/usr/bin/perl use strict; use warnings; use Test::More tests => 10; do { package Class; use Mouse; has pawn => ( is => 'rw', predicate => 'has_pawn', clearer => 'clear_pawn', default => sub { 10 }, ); no Mouse; }; my $meta = Class->meta; isa_ok($meta, 'Mouse::Meta::Class'); my $attr = $meta->get_attribute('pawn'); isa_ok($attr, 'Mouse::Meta::Attribute'); can_ok($attr, qw(name associated_class predicate clearer)); is($attr->name, 'pawn', 'attribute name'); is($attr->associated_class, Class->meta, 'associated_class'); is($attr->predicate, 'has_pawn', 'predicate'); is($attr->clearer, 'clear_pawn', 'clearer'); ok(!$attr->is_lazy_build, "not lazy_build"); is(ref($attr->default), 'CODE', 'default is a coderef'); ok($attr->verify_against_type_constraint(1), 'verify_against_type_constraint works even without isa');