Failing test showing that UndefTolerant fails with immutable classes.
Chris Andrews [Fri, 8 Oct 2010 15:24:52 +0000 (16:24 +0100)]
t/immutable.t [new file with mode: 0644]

diff --git a/t/immutable.t b/t/immutable.t
new file mode 100644 (file)
index 0000000..6a15655
--- /dev/null
@@ -0,0 +1,33 @@
+use Test::More;
+
+package Foo;
+use Moose;
+use MooseX::UndefTolerant;
+
+has 'bar' => (
+    is => 'ro',
+    isa => 'Num',
+    predicate => 'has_bar'
+);
+
+__PACKAGE__->meta->make_immutable;
+
+package main;
+
+{
+    my $foo = Foo->new;
+    ok(!$foo->has_bar);
+}
+
+{
+    my $foo = Foo->new(bar => undef);
+    ok(!$foo->has_bar);
+}
+
+{
+    my $foo = Foo->new(bar => 1234);
+    cmp_ok($foo->bar, 'eq', 1234);
+    ok($foo->has_bar);
+}
+
+done_testing;