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
