Move t/*/t into t/001_mouse
[gitmo/Mouse.git] / t / 001_mouse / 101-meta-attribute.t
diff --git a/t/001_mouse/101-meta-attribute.t b/t/001_mouse/101-meta-attribute.t
new file mode 100644 (file)
index 0000000..8143274
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env 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');