From 46c48ccfa158c6ba099d7dcf16ae0e6dc870eb06 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 30 Jun 2010 00:38:32 -0500 Subject: don't break if someone specifies a version to extends --- lib/MooseX/NonMoose/Meta/Role/Class.pm | 2 +- t/60-extends-version.t | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 t/60-extends-version.t 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; -- cgit v1.2.3-54-g00ecf