diff options
author | Jesse Luehrs <doy@tozt.net> | 2010-06-30 00:38:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-06-30 00:38:32 -0500 |
commit | 46c48ccfa158c6ba099d7dcf16ae0e6dc870eb06 (patch) | |
tree | 61fa7d6ac33bd568116cb5b427a086330bdb05be | |
parent | 5dd74025d6be063af08875aa2656d1ee0fa605cf (diff) | |
download | moosex-nonmoose-46c48ccfa158c6ba099d7dcf16ae0e6dc870eb06.tar.gz moosex-nonmoose-46c48ccfa158c6ba099d7dcf16ae0e6dc870eb06.zip |
don't break if someone specifies a version to extends
-rw-r--r-- | lib/MooseX/NonMoose/Meta/Role/Class.pm | 2 | ||||
-rw-r--r-- | t/60-extends-version.t | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/lib/MooseX/NonMoose/Meta/Role/Class.pm b/lib/MooseX/NonMoose/Meta/Role/Class.pm index 1b90c7d..e56056a 100644 --- a/lib/MooseX/NonMoose/Meta/Role/Class.pm +++ b/lib/MooseX/NonMoose/Meta/Role/Class.pm @@ -219,7 +219,7 @@ around superclasses => sub { my @superclasses = @_; push @superclasses, 'Moose::Object' - unless grep { $_->isa('Moose::Object') } @superclasses; + unless grep { blessed($_) && $_->isa('Moose::Object') } @superclasses; my @ret = $self->$orig(@superclasses); diff --git a/t/60-extends-version.t b/t/60-extends-version.t new file mode 100644 index 0000000..7f1f97f --- /dev/null +++ b/t/60-extends-version.t @@ -0,0 +1,21 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Test::Exception; + +{ + package Foo; + our $VERSION = '0.02'; + sub new { bless {}, shift } +} + +{ + package Bar; + use Moose; + use MooseX::NonMoose; + ::lives_ok { extends 'Foo' => { -version => '0.02' } } + "specifying arguments to superclasses doesn't break"; +} + +done_testing; |