From dc072f08418d6b918bd35c97a1884298de5dfdaf Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 2 Mar 2011 00:43:25 -0600 Subject: warn instead of die if the superclass has a DESTROY but no new --- t/26-no-new-constructor-error.t | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 t/26-no-new-constructor-error.t (limited to 't') diff --git a/t/26-no-new-constructor-error.t b/t/26-no-new-constructor-error.t new file mode 100644 index 0000000..e70442e --- /dev/null +++ b/t/26-no-new-constructor-error.t @@ -0,0 +1,26 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; + +{ + package NonMoose; + sub create { bless {}, shift } + sub DESTROY { } +} + +{ + package Child; + use Moose; + use MooseX::NonMoose; + extends 'NonMoose'; + { + my $warning; + local $SIG{__WARN__} = sub { $warning = $_[0] }; + __PACKAGE__->meta->make_immutable; + ::like($warning, qr/Not inlining.*doesn't contain a 'new' method/, + "warning when trying to make_immutable without a superclass 'new'"); + } +} + +done_testing; -- cgit v1.2.3