summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changes3
-rw-r--r--lib/MooseX/NonMoose/Meta/Role/Class.pm2
-rw-r--r--t/07-extends-moose-object.t33
3 files changed, 37 insertions, 1 deletions
diff --git a/Changes b/Changes
index 89c925c..d4c535b 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,9 @@
Revision history for MooseX-NonMoose
{{$NEXT}}
+ - Actually use the right test.
+
+0.10 2010-06-30
- Don't break if someone specifies a version to extends.
0.09 2010-06-15
diff --git a/lib/MooseX/NonMoose/Meta/Role/Class.pm b/lib/MooseX/NonMoose/Meta/Role/Class.pm
index e56056a..1fac4a5 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 { blessed($_) && $_->isa('Moose::Object') } @superclasses;
+ unless grep { !ref($_) && $_->isa('Moose::Object') } @superclasses;
my @ret = $self->$orig(@superclasses);
diff --git a/t/07-extends-moose-object.t b/t/07-extends-moose-object.t
new file mode 100644
index 0000000..699dfe5
--- /dev/null
+++ b/t/07-extends-moose-object.t
@@ -0,0 +1,33 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+{
+ package Foo;
+ sub new { bless {}, shift }
+}
+
+{
+ package Foo::Sub;
+ use Moose;
+ use MooseX::NonMoose;
+ extends 'Foo';
+}
+
+{
+ package Bar;
+ use Moose;
+}
+
+{
+ package Bar::Sub;
+ use Moose;
+ use MooseX::NonMoose;
+ extends 'Bar';
+}
+
+is_deeply(\@Foo::Sub::ISA, ['Foo', 'Moose::Object'], "Moose::Object was added");
+is_deeply(\@Bar::Sub::ISA, ['Bar'], "Moose::Object wasn't added");
+
+done_testing;