complete attributeshortcuts support
[gitmo/Moo.git] / t / accessor-trigger.t
index 632819e..762b290 100644 (file)
@@ -62,4 +62,47 @@ run_for 'Bar';
 
 run_for 'Baz';
 
+{
+  package Default;
+
+  use Sub::Quote;
+  use Moo;
+
+  has one => (
+    is => 'rw',
+    trigger => quote_sub(q{ push @{$tr}, $_[1] }, { '$tr' => \\@::tr }),
+    default => sub { 0 }
+  );
+}
+
+run_for 'Default';
+
+{
+  package LazyDefault;
+
+  use Sub::Quote;
+  use Moo;
+
+  has one => (
+    is => 'rw',
+    trigger => quote_sub(q{ push @{$tr}, $_[1] }, { '$tr' => \\@::tr }),
+    default => sub { 0 },
+    lazy => 1
+  );
+}
+
+run_for 'LazyDefault';
+
+{
+  package Shaz;
+
+  use Moo;
+
+  has one => (is => 'rw', trigger => 1 );
+
+  sub _trigger_one { push @::tr, $_[1] }
+}
+
+run_for 'Shaz';
+
 done_testing;