merged with delegation_bugs branch
[gitmo/MooseX-ClassAttribute.git] / t / 09-bare-native-attribute-trait.t
diff --git a/t/09-bare-native-attribute-trait.t b/t/09-bare-native-attribute-trait.t
new file mode 100644 (file)
index 0000000..32a3b31
--- /dev/null
@@ -0,0 +1,33 @@
+
+# reported in https://rt.cpan.org/Public/Bug/Display.html?id=59573
+
+use strict;
+use warnings;
+
+use Test::More tests => 2;
+use Test::NoWarnings;
+use Test::Exception;
+
+{
+    package Foo;
+    use Moose;
+    use MooseX::ClassAttribute;
+    class_has attr => (
+        is => 'bare', isa => 'HashRef[Str]',
+        lazy => 1,
+        default => sub { {} },
+        traits => ['Hash'],
+        handles => {
+            has_attr => 'exists',
+        },
+    );
+}
+
+package main;
+
+# in Moose 1.08/MooseX::ClassAttribute 0.16, this dies with:
+# Can't use an undefined value as a HASH reference
+lives_ok { Foo->has_attr('key') }
+    'Default builder in a native attribute trait is properly run when the attribute is defined with no standard accessors';
+
+