Regenerate test files
[gitmo/Mouse.git] / t / 070_native_traits / 209_trait_code.t
diff --git a/t/070_native_traits/209_trait_code.t b/t/070_native_traits/209_trait_code.t
new file mode 100644 (file)
index 0000000..5ed7ae8
--- /dev/null
@@ -0,0 +1,51 @@
+use strict;
+# This is automatically generated by author/import-moose-test.pl.
+# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
+use t::lib::MooseCompat;
+use warnings;
+
+use Test::More;
+
+{
+    package Thingy;
+    use Mouse;
+
+    has callback => (
+        traits   => ['Code'],
+        isa      => 'CodeRef',
+        required => 1,
+        handles  => { 'invoke_callback' => 'execute' },
+    );
+
+    has callback_method => (
+        traits   => ['Code'],
+        isa      => 'CodeRef',
+        required => 1,
+        handles  => { 'invoke_method_callback' => 'execute_method' },
+    );
+
+    has multiplier => (
+        traits   => ['Code'],
+        isa      => 'CodeRef',
+        required => 1,
+        handles  => { 'multiply' => 'execute' },
+    );
+}
+
+my $i = 0;
+my $thingy = Thingy->new(
+    callback        => sub { ++$i },
+    multiplier      => sub { $_[0] * 2 },
+    callback_method => sub { shift->multiply(@_) },
+);
+
+is($i, 0);
+$thingy->invoke_callback;
+is($i, 1);
+is($thingy->multiply(3), 6);
+is($thingy->invoke_method_callback(3), 6);
+
+ok(!$thingy->can($_), "Code trait didn't create reader method for $_")
+    for qw(callback callback_method multiplier);
+
+done_testing;