summaryrefslogtreecommitdiffstats
path: root/t/constructor-method-calls.t
diff options
context:
space:
mode:
Diffstat (limited to 't/constructor-method-calls.t')
-rw-r--r--t/constructor-method-calls.t47
1 files changed, 47 insertions, 0 deletions
diff --git a/t/constructor-method-calls.t b/t/constructor-method-calls.t
new file mode 100644
index 0000000..7187bb8
--- /dev/null
+++ b/t/constructor-method-calls.t
@@ -0,0 +1,47 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Moose;
+
+my ($foo, $foosub);
+{
+ package Foo;
+
+ sub new {
+ my $class = shift;
+ my $obj = bless {}, $class;
+ $obj->init;
+ $obj;
+ }
+
+ sub init {
+ $foo++
+ }
+}
+
+{
+ package Foo::Sub;
+ use base 'Foo';
+
+ sub init {
+ $foosub++;
+ shift->SUPER::init;
+ }
+}
+
+{
+ package Foo::Sub::Sub;
+ use Moose;
+ use MooseX::NonMoose;
+ extends 'Foo::Sub';
+}
+
+with_immutable {
+ ($foo, $foosub) = (0, 0);
+ Foo::Sub::Sub->new;
+ is($foo, 1, "Foo::init called");
+ is($foosub, 1, "Foo::Sub::init called");
+} 'Foo::Sub::Sub';
+
+done_testing;