summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/MooseX/NonMoose/Meta/Role/Class.pm2
-rw-r--r--t/60-extends-version.t21
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;