trAvis - MANAGER
Edit File: 040-existing-subclass.t
#!/usr/bin/perl use strict; use warnings; use Test::More; BEGIN { eval "use Test::Output;"; plan skip_all => "Test::Output is required for this test" if $@; plan tests => 3; } do { package Parent; sub new { bless {}, shift } package Child; BEGIN { our @ISA = 'Parent' } use Mouse; }; TODO: { local $TODO = "Mouse doesn't track enough context"; stderr_is( sub { Child->meta->make_immutable }, "Not inlining a constructor for Child since it is not inheriting the default Mouse::Object constructor\n", 'Mouse warns when it would have blown away the inherited constructor', ); } do { package Foo; use Mouse; __PACKAGE__->meta->make_immutable; package Bar; use Mouse; extends 'Foo'; }; stderr_is( sub { Bar->meta->make_immutable }, "", 'Mouse does not warn about inlining a constructor when the superclass inlined a constructor', ); do { package Baz; package Quux; BEGIN { our @ISA = 'Baz' } use Mouse; __PACKAGE__->meta->make_immutable; }; ok(Quux->new);