Hello community,

here is the log from the commit of package perl-Role-Tiny for openSUSE:Factory 
checked in at 2015-04-27 13:04:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Role-Tiny (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Role-Tiny"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Role-Tiny/perl-Role-Tiny.changes    
2015-04-15 16:26:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new/perl-Role-Tiny.changes       
2015-04-27 13:04:28.000000000 +0200
@@ -1,0 +2,11 @@
+Sat Apr 25 07:34:36 UTC 2015 - [email protected]
+
+- updated to 2.000001
+   see /usr/share/doc/packages/perl-Role-Tiny/Changes
+
+  2.000001 - 2015-04-24
+    - fix generating invalid package names with single colons when abbreviating
+      long package names (RT#103310)
+    - don't run module interaction tests for user installs
+
+-------------------------------------------------------------------

Old:
----
  Role-Tiny-2.000000.tar.gz

New:
----
  Role-Tiny-2.000001.tar.gz
  cpanspec.yml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Role-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.a5ahUu/_old  2015-04-27 13:04:29.000000000 +0200
+++ /var/tmp/diff_new_pack.a5ahUu/_new  2015-04-27 13:04:29.000000000 +0200
@@ -17,14 +17,15 @@
 
 
 Name:           perl-Role-Tiny
-Version:        2.000000
+Version:        2.000001
 Release:        0
 %define cpan_name Role-Tiny
 Summary:        Roles. Like a nouvelle cuisine portion size slice of Moose
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Role-Tiny/
-Source:         
http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
+Source0:        
http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl

++++++ Role-Tiny-2.000000.tar.gz -> Role-Tiny-2.000001.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/Changes 
new/Role-Tiny-2.000001/Changes
--- old/Role-Tiny-2.000000/Changes      2015-02-26 10:34:14.000000000 +0100
+++ new/Role-Tiny-2.000001/Changes      2015-04-25 01:04:08.000000000 +0200
@@ -1,5 +1,10 @@
 Revision history for Role-Tiny
 
+2.000001 - 2015-04-24
+  - fix generating invalid package names with single colons when abbreviating
+    long package names (RT#103310)
+  - don't run module interaction tests for user installs
+
 2.000000 - 2015-02-26
   * Incompatible Changes
     - Role::Tiny no longer applies fatal warnings to roles created with it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/MANIFEST 
new/Role-Tiny-2.000001/MANIFEST
--- old/Role-Tiny-2.000000/MANIFEST     2015-02-26 10:34:25.000000000 +0100
+++ new/Role-Tiny-2.000001/MANIFEST     2015-04-25 01:04:36.000000000 +0200
@@ -4,8 +4,6 @@
 maint/Makefile.PL.include
 Makefile.PL
 MANIFEST                       This list of files
-t/around-does.t
-t/compose-modifiers.t
 t/concrete-methods.t
 t/create-hook.t
 t/does.t
@@ -16,8 +14,6 @@
 t/lib/TrackLoad.pm
 t/load-module.t
 t/method-conflicts.t
-t/modifiers.t
-t/namespace-clean.t
 t/overload.t
 t/role-basic-basic.t
 t/role-basic-bugs.t
@@ -33,8 +29,12 @@
 t/role-tiny.t
 t/role-with-inheritance.t
 t/subclass.t
+xt/around-does.t
+xt/compose-modifiers.t
 xt/does-Moo.t
+xt/modifiers.t
 xt/Moo.t
+xt/namespace-clean.t
 META.yml                                 Module YAML meta-data (added by 
MakeMaker)
 META.json                                Module JSON meta-data (added by 
MakeMaker)
 README                                   README file (added by Distar)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/META.json 
new/Role-Tiny-2.000001/META.json
--- old/Role-Tiny-2.000000/META.json    2015-02-26 10:34:25.000000000 +0100
+++ new/Role-Tiny-2.000001/META.json    2015-04-25 01:04:36.000000000 +0200
@@ -24,8 +24,9 @@
       "configure" : {},
       "develop" : {
          "recommends" : {
+            "Class::Method::Modifiers" : "1.05",
             "Moo" : "0",
-            "namespace::clean" : "0"
+            "namespace::autoclean" : "0"
          }
       },
       "runtime" : {
@@ -60,5 +61,5 @@
       },
       "x_IRC" : "irc://irc.perl.org/#moose"
    },
-   "version" : "2.000000"
+   "version" : "2.000001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/META.yml 
new/Role-Tiny-2.000001/META.yml
--- old/Role-Tiny-2.000000/META.yml     2015-02-26 10:34:25.000000000 +0100
+++ new/Role-Tiny-2.000001/META.yml     2015-04-25 01:04:36.000000000 +0200
@@ -26,4 +26,4 @@
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Role-Tiny
   license: http://dev.perl.org/licenses/
   repository: git://github.com/moose/Role-Tiny.git
-version: '2.000000'
+version: '2.000001'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/Makefile.PL 
new/Role-Tiny-2.000001/Makefile.PL
--- old/Role-Tiny-2.000000/Makefile.PL  2015-02-23 21:29:22.000000000 +0100
+++ new/Role-Tiny-2.000001/Makefile.PL  2015-04-16 16:59:49.000000000 +0200
@@ -19,7 +19,8 @@
       },
     },
     develop => { recommends => {
-      'namespace::clean' => 0,
+      'Class::Method::Modifiers' => '1.05',
+      'namespace::autoclean' => 0,
       'Moo' => 0,
     } },
   },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/lib/Role/Tiny/With.pm 
new/Role-Tiny-2.000001/lib/Role/Tiny/With.pm
--- old/Role-Tiny-2.000000/lib/Role/Tiny/With.pm        2015-02-26 
10:33:55.000000000 +0100
+++ new/Role-Tiny-2.000001/lib/Role/Tiny/With.pm        2015-04-25 
01:04:01.000000000 +0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '2.000000';
+our $VERSION = '2.000001';
 $VERSION = eval $VERSION;
 
 use Role::Tiny ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/lib/Role/Tiny.pm 
new/Role-Tiny-2.000001/lib/Role/Tiny.pm
--- old/Role-Tiny-2.000000/lib/Role/Tiny.pm     2015-02-26 10:33:55.000000000 
+0100
+++ new/Role-Tiny-2.000001/lib/Role/Tiny.pm     2015-04-25 01:04:01.000000000 
+0200
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '2.000000';
+our $VERSION = '2.000001';
 $VERSION = eval $VERSION;
 
 our %INFO;
@@ -117,8 +117,11 @@
   );
 
   if (length($new_name) > 252) {
-    $new_name = $COMPOSED{abbrev}{$new_name}
-      ||= substr($new_name, 0, 250 - length $role_suffix).'__'.$role_suffix++;
+    $new_name = $COMPOSED{abbrev}{$new_name} ||= do {
+      my $abbrev = substr $new_name, 0, 250 - length $role_suffix;
+      $abbrev =~ s/(?<!:):$//;
+      $abbrev.'__'.$role_suffix++;
+    };
   }
   return wantarray ? ($new_name, $compose_name) : $new_name;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/around-does.t 
new/Role-Tiny-2.000001/t/around-does.t
--- old/Role-Tiny-2.000000/t/around-does.t      2015-02-23 21:29:22.000000000 
+0100
+++ new/Role-Tiny-2.000001/t/around-does.t      1970-01-01 01:00:00.000000000 
+0100
@@ -1,38 +0,0 @@
-use strict;
-use warnings;
-use Test::More;
-
-BEGIN {
-  plan skip_all => "Class::Method::Modifiers not installed or too old"
-    unless eval "use Class::Method::Modifiers 1.05; 1";
-}
-
-my $pass;
-my $pass2;
-
-BEGIN {
-    package Local::Role;
-    use Role::Tiny;
-    around does => sub {
-        my ($orig, $self, @args) = @_;
-        $pass++;
-        return $self->$orig(@args);
-    };
-    around DOES => sub {
-        my ($orig, $self, @args) = @_;
-        $pass2++;
-        return $self->$orig(@args);
-    };
-}
-
-BEGIN {
-    package Local::Class;
-    use Role::Tiny::With;
-    with 'Local::Role';
-}
-
-ok(Local::Class->does('Local::Role'));
-ok($pass);
-ok(Local::Class->DOES('Local::Role'));
-ok($pass2);
-done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/compose-modifiers.t 
new/Role-Tiny-2.000001/t/compose-modifiers.t
--- old/Role-Tiny-2.000000/t/compose-modifiers.t        2015-02-23 
21:29:22.000000000 +0100
+++ new/Role-Tiny-2.000001/t/compose-modifiers.t        1970-01-01 
01:00:00.000000000 +0100
@@ -1,62 +0,0 @@
-use strict;
-use warnings;
-use Test::More;
-
-BEGIN {
-  plan skip_all => "Class::Method::Modifiers not installed or too old"
-    unless eval "use Class::Method::Modifiers 1.05; 1";
-}
-
-{
-  package One; use Role::Tiny;
-  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
-  package Two; use Role::Tiny;
-  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
-  package Three; use Role::Tiny;
-  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
-  package Four; use Role::Tiny;
-  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
-  package BaseClass; sub foo { __PACKAGE__ }
-}
-
-foreach my $combo (
-  [ qw(One Two Three Four) ],
-  [ qw(Two Four Three) ],
-  [ qw(One Two) ]
-) {
-  my $combined = Role::Tiny->create_class_with_roles('BaseClass', @$combo);
-  is_deeply(
-    [ $combined->foo ], [ reverse(@$combo), 'BaseClass' ],
-    "${combined} ok"
-  );
-  my $object = bless({}, 'BaseClass');
-  Role::Tiny->apply_roles_to_object($object, @$combo);
-  is(ref($object), $combined, 'Object reblessed into correct class');
-}
-
-{
-  package Five; use Role::Tiny;
-  requires 'bar';
-  around bar => sub { my $orig = shift; $orig->(@_) };
-}
-{
-  is eval {
-    package WithFive;
-    use Role::Tiny::With;
-    use base 'BaseClass';
-    with 'Five';
-  }, undef,
-    "composing an around modifier fails when method doesn't exist";
-  like $@, qr/Can't apply Five to WithFive - missing bar/,
-    ' ... with correct error message';
-}
-{
-  is eval {
-    Role::Tiny->create_class_with_roles('BaseClass', 'Five');
-  }, undef,
-    "composing an around modifier fails when method doesn't exist";
-  like $@, qr/Can't apply Five to .* - missing bar/,
-    ' ... with correct error message';
-}
-
-done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/does.t 
new/Role-Tiny-2.000001/t/does.t
--- old/Role-Tiny-2.000000/t/does.t     2015-02-23 21:29:22.000000000 +0100
+++ new/Role-Tiny-2.000001/t/does.t     2015-03-31 06:42:28.000000000 +0200
@@ -1,6 +1,6 @@
 use strict;
 use warnings;
-use Test::More tests => 14;
+use Test::More;
 
 BEGIN {
   package Local::Role1;
@@ -55,3 +55,5 @@
   ok( ! $class->does($role), "$class\->does($role)");
   ok(   $class->DOES($role), "$class\->DOES($role)");
 }
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/modifiers.t 
new/Role-Tiny-2.000001/t/modifiers.t
--- old/Role-Tiny-2.000000/t/modifiers.t        2015-02-23 21:29:22.000000000 
+0100
+++ new/Role-Tiny-2.000001/t/modifiers.t        1970-01-01 01:00:00.000000000 
+0100
@@ -1,77 +0,0 @@
-use strict;
-use warnings;
-use Test::More;
-use Test::Fatal;
-
-BEGIN {
-  plan skip_all => "Class::Method::Modifiers not installed or too old"
-    unless eval "use Class::Method::Modifiers 1.05; 1";
-}
-
-BEGIN {
-  package MyRole;
-
-  use Role::Tiny;
-
-  around foo => sub { my $orig = shift; join ' ', 'role foo', $orig->(@_) };
-}
-
-BEGIN {
-  package ExtraRole;
-
-  use Role::Tiny;
-}
-
-BEGIN {
-  package MyClass;
-
-  sub foo { 'class foo' }
-}
-
-BEGIN {
-  package ExtraClass;
-
-  use Role::Tiny::With;
-
-  with qw(MyRole ExtraRole);
-
-  sub foo { 'class foo' }
-}
-
-BEGIN {
-  package BrokenRole;
-  use Role::Tiny;
-
-  around 'broken modifier' => sub { my $orig = shift; $orig->(@_) };
-}
-
-BEGIN {
-  package MyRole2;
-  use Role::Tiny;
-  with 'MyRole';
-}
-
-BEGIN {
-  package ExtraClass2;
-  use Role::Tiny::With;
-  with 'MyRole2';
-  sub foo { 'class foo' }
-}
-
-sub try_apply_to {
-  my $to = shift;
-  exception { Role::Tiny->apply_role_to_package($to, 'MyRole') }
-}
-
-is(try_apply_to('MyClass'), undef, 'role applies cleanly');
-is(MyClass->foo, 'role foo class foo', 'method modifier');
-is(ExtraClass->foo, 'role foo class foo', 'method modifier with composition');
-
-is(ExtraClass2->foo, 'role foo class foo',
-  'method modifier with role composed into role');
-
-ok(exception {
-    my $new_class = Role::Tiny->create_class_with_roles('MyClass', 
'BrokenRole');
-}, 'exception caught creating class with broken modifier in a role');
-
-done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/namespace-clean.t 
new/Role-Tiny-2.000001/t/namespace-clean.t
--- old/Role-Tiny-2.000000/t/namespace-clean.t  2015-02-23 21:29:22.000000000 
+0100
+++ new/Role-Tiny-2.000001/t/namespace-clean.t  1970-01-01 01:00:00.000000000 
+0100
@@ -1,26 +0,0 @@
-use strict;
-use warnings;
-use Test::More;
-
-BEGIN {
-    eval { require namespace::autoclean ; 1 }
-        or plan skip_all => 'test requires namespace::autoclean';
-}
-
-BEGIN {
-    package Local::Role;
-    use Role::Tiny;
-    sub foo { 1 };
-}
-
-BEGIN {
-    package Local::Class;
-    use namespace::autoclean;
-    use Role::Tiny::With;
-    with qw( Local::Role );
-};
-
-can_ok 'Local::Class', 'foo';
-can_ok 'Local::Class', 'does';
-
-done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/role-basic-basic.t 
new/Role-Tiny-2.000001/t/role-basic-basic.t
--- old/Role-Tiny-2.000000/t/role-basic-basic.t 2015-02-23 21:29:22.000000000 
+0100
+++ new/Role-Tiny-2.000001/t/role-basic-basic.t 2015-03-31 06:44:26.000000000 
+0200
@@ -1,9 +1,11 @@
 use strict;
 use warnings;
-use Test::More tests => 3;
+use Test::More;
 use lib 't/role-basic/lib';
 
-use_ok 'My::Example' or BAIL_OUT 'Could not load test module My::Example';
+use My::Example;
 can_ok 'My::Example', 'no_conflict';
 is +My::Example->no_conflict, 'My::Does::Basic::no_conflict',
     '... and it should return the correct value';
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/t/role-long-package-name.t 
new/Role-Tiny-2.000001/t/role-long-package-name.t
--- old/Role-Tiny-2.000000/t/role-long-package-name.t   2015-02-23 
21:29:22.000000000 +0100
+++ new/Role-Tiny-2.000001/t/role-long-package-name.t   2015-04-05 
06:09:32.000000000 +0200
@@ -18,25 +18,35 @@
     use Role::Tiny;
 }
 
-{
-    package Foo;
-    sub new { bless {}, shift }
-}
-
-my $foo = Foo->new();
-for (qw(
+# test various lengths so abbreviation cuts off double colon
+for my $pack (qw(
+  Foo
+  Fooo
+  Foooo
+  Fooooo
+  Foooooo
+  Fooooooo
+  Foooooooo
+)) {
+  {
+    no strict 'refs';
+    *{"${pack}::new"} = sub { bless {}, $_[0] };
+  }
+  my $o = $pack->new;
+  for (qw(
     R::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
     R::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
     R::CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
     R::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
     R::EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-)) {
-    Role::Tiny->apply_roles_to_object($foo, $_);
-}
+  )) {
+    Role::Tiny->apply_roles_to_object($o, $_);
+  }
 
-my $pkg = ref $foo;
-eval "package $pkg;";
-is $@, '', 'package name usable by perl'
-  or diag "package: $pkg";
+  my $pkg = ref $o;
+  eval "package $pkg;";
+  is $@, '', 'package name usable by perl'
+    or diag "package: $pkg";
+}
 
 done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/xt/Moo.t 
new/Role-Tiny-2.000001/xt/Moo.t
--- old/Role-Tiny-2.000000/xt/Moo.t     2015-02-23 21:29:22.000000000 +0100
+++ new/Role-Tiny-2.000001/xt/Moo.t     2015-04-05 06:27:00.000000000 +0200
@@ -7,7 +7,7 @@
 use File::Spec;
 use Config;
 
-$ENV{PERL5LIB} = join $Config{path_sep}, @ARGV;
+$ENV{PERL5LIB} = join $Config{path_sep}, @INC;
 
 open my $in, '<', File::Spec->devnull
   or die "can't open devnull: $!";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/xt/around-does.t 
new/Role-Tiny-2.000001/xt/around-does.t
--- old/Role-Tiny-2.000000/xt/around-does.t     1970-01-01 01:00:00.000000000 
+0100
+++ new/Role-Tiny-2.000001/xt/around-does.t     2015-04-05 06:23:31.000000000 
+0200
@@ -0,0 +1,35 @@
+use strict;
+use warnings;
+use Test::More;
+
+use Class::Method::Modifiers 1.05;
+
+my $pass;
+my $pass2;
+
+BEGIN {
+    package Local::Role;
+    use Role::Tiny;
+    around does => sub {
+        my ($orig, $self, @args) = @_;
+        $pass++;
+        return $self->$orig(@args);
+    };
+    around DOES => sub {
+        my ($orig, $self, @args) = @_;
+        $pass2++;
+        return $self->$orig(@args);
+    };
+}
+
+BEGIN {
+    package Local::Class;
+    use Role::Tiny::With;
+    with 'Local::Role';
+}
+
+ok(Local::Class->does('Local::Role'));
+ok($pass);
+ok(Local::Class->DOES('Local::Role'));
+ok($pass2);
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/xt/compose-modifiers.t 
new/Role-Tiny-2.000001/xt/compose-modifiers.t
--- old/Role-Tiny-2.000000/xt/compose-modifiers.t       1970-01-01 
01:00:00.000000000 +0100
+++ new/Role-Tiny-2.000001/xt/compose-modifiers.t       2015-04-05 
06:21:58.000000000 +0200
@@ -0,0 +1,59 @@
+use strict;
+use warnings;
+use Test::More;
+
+use Class::Method::Modifiers 1.05 ();
+
+{
+  package One; use Role::Tiny;
+  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
+  package Two; use Role::Tiny;
+  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
+  package Three; use Role::Tiny;
+  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
+  package Four; use Role::Tiny;
+  around foo => sub { my $orig = shift; (__PACKAGE__, $orig->(@_)) };
+  package BaseClass; sub foo { __PACKAGE__ }
+}
+
+foreach my $combo (
+  [ qw(One Two Three Four) ],
+  [ qw(Two Four Three) ],
+  [ qw(One Two) ]
+) {
+  my $combined = Role::Tiny->create_class_with_roles('BaseClass', @$combo);
+  is_deeply(
+    [ $combined->foo ], [ reverse(@$combo), 'BaseClass' ],
+    "${combined} ok"
+  );
+  my $object = bless({}, 'BaseClass');
+  Role::Tiny->apply_roles_to_object($object, @$combo);
+  is(ref($object), $combined, 'Object reblessed into correct class');
+}
+
+{
+  package Five; use Role::Tiny;
+  requires 'bar';
+  around bar => sub { my $orig = shift; $orig->(@_) };
+}
+{
+  is eval {
+    package WithFive;
+    use Role::Tiny::With;
+    use base 'BaseClass';
+    with 'Five';
+  }, undef,
+    "composing an around modifier fails when method doesn't exist";
+  like $@, qr/Can't apply Five to WithFive - missing bar/,
+    ' ... with correct error message';
+}
+{
+  is eval {
+    Role::Tiny->create_class_with_roles('BaseClass', 'Five');
+  }, undef,
+    "composing an around modifier fails when method doesn't exist";
+  like $@, qr/Can't apply Five to .* - missing bar/,
+    ' ... with correct error message';
+}
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/xt/does-Moo.t 
new/Role-Tiny-2.000001/xt/does-Moo.t
--- old/Role-Tiny-2.000000/xt/does-Moo.t        2015-01-30 06:36:04.000000000 
+0100
+++ new/Role-Tiny-2.000001/xt/does-Moo.t        2015-04-05 06:24:56.000000000 
+0200
@@ -1,9 +1,8 @@
+use strict;
+use warnings;
 use Test::More;
-BEGIN {
-  plan skip_all => 'requires Moo'
-    unless eval { require Moo; require Moo::Role; 1 };
-  plan tests => 14;
-}
+use Moo ();
+use Moo::Role ();
 
 BEGIN {
   package Local::Role1;
@@ -59,3 +58,4 @@
   ok(   $class->DOES($role), "$class\->DOES($role)");
 }
 
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/xt/modifiers.t 
new/Role-Tiny-2.000001/xt/modifiers.t
--- old/Role-Tiny-2.000000/xt/modifiers.t       1970-01-01 01:00:00.000000000 
+0100
+++ new/Role-Tiny-2.000001/xt/modifiers.t       2015-04-05 06:21:58.000000000 
+0200
@@ -0,0 +1,74 @@
+use strict;
+use warnings;
+use Test::More;
+use Test::Fatal;
+
+use Class::Method::Modifiers 1.05 ();
+
+BEGIN {
+  package MyRole;
+
+  use Role::Tiny;
+
+  around foo => sub { my $orig = shift; join ' ', 'role foo', $orig->(@_) };
+}
+
+BEGIN {
+  package ExtraRole;
+
+  use Role::Tiny;
+}
+
+BEGIN {
+  package MyClass;
+
+  sub foo { 'class foo' }
+}
+
+BEGIN {
+  package ExtraClass;
+
+  use Role::Tiny::With;
+
+  with qw(MyRole ExtraRole);
+
+  sub foo { 'class foo' }
+}
+
+BEGIN {
+  package BrokenRole;
+  use Role::Tiny;
+
+  around 'broken modifier' => sub { my $orig = shift; $orig->(@_) };
+}
+
+BEGIN {
+  package MyRole2;
+  use Role::Tiny;
+  with 'MyRole';
+}
+
+BEGIN {
+  package ExtraClass2;
+  use Role::Tiny::With;
+  with 'MyRole2';
+  sub foo { 'class foo' }
+}
+
+sub try_apply_to {
+  my $to = shift;
+  exception { Role::Tiny->apply_role_to_package($to, 'MyRole') }
+}
+
+is(try_apply_to('MyClass'), undef, 'role applies cleanly');
+is(MyClass->foo, 'role foo class foo', 'method modifier');
+is(ExtraClass->foo, 'role foo class foo', 'method modifier with composition');
+
+is(ExtraClass2->foo, 'role foo class foo',
+  'method modifier with role composed into role');
+
+ok(exception {
+    my $new_class = Role::Tiny->create_class_with_roles('MyClass', 
'BrokenRole');
+}, 'exception caught creating class with broken modifier in a role');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Role-Tiny-2.000000/xt/namespace-clean.t 
new/Role-Tiny-2.000001/xt/namespace-clean.t
--- old/Role-Tiny-2.000000/xt/namespace-clean.t 1970-01-01 01:00:00.000000000 
+0100
+++ new/Role-Tiny-2.000001/xt/namespace-clean.t 2015-04-05 06:21:58.000000000 
+0200
@@ -0,0 +1,23 @@
+use strict;
+use warnings;
+use Test::More;
+
+use namespace::autoclean ();
+
+BEGIN {
+    package Local::Role;
+    use Role::Tiny;
+    sub foo { 1 };
+}
+
+BEGIN {
+    package Local::Class;
+    use namespace::autoclean;
+    use Role::Tiny::With;
+    with qw( Local::Role );
+};
+
+can_ok 'Local::Class', 'foo';
+can_ok 'Local::Class', 'does';
+
+done_testing();

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module

Reply via email to