Codebase list libany-moose-perl / 2c1bc73
[svn-upgrade] new version libany-moose-perl (0.15) Alessandro Ghedini 12 years ago
23 changed file(s) with 131 addition(s) and 61 deletion(s). Raw diff Collapse all Expand all
0 0.15 2011-06-07
1 * Standardize the tests' Mouse/Moose loading eval/skip code
2 (Sartak, reported by Daniel Macks)
3 - fixes [rt.cpan.org #68657]
4
5 0.14 2011-04-29
6 * Skip t/004-x-modules-mouse.t if you don't have MouseX::Types 0.03 since
7 older versions do not work with modern Mouse (Sartak, reported by ewilhelm)
8
09 0.13 Wed 19 May 2010
110 * Add load_first_existing_class (gfx)
211
1717
1818 The GNU General Public License, Version 1, February 1989
1919
20 GNU GENERAL PUBLIC LICENSE
21 Version 1, February 1989
20 GNU GENERAL PUBLIC LICENSE
21 Version 1, February 1989
2222
2323 Copyright (C) 1989 Free Software Foundation, Inc.
24 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
24 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
2526 Everyone is permitted to copy and distribute verbatim copies
2627 of this license document, but changing it is not allowed.
2728
28 Preamble
29 Preamble
2930
3031 The license agreements of most software companies try to keep users
3132 at the mercy of those companies. By contrast, our General Public
6667 The precise terms and conditions for copying, distribution and
6768 modification follow.
6869
69 GNU GENERAL PUBLIC LICENSE
70 GNU GENERAL PUBLIC LICENSE
7071 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
7172
7273 0. This License Agreement applies to any program or other work which
184185 of preserving the free status of all derivatives of our free software and
185186 of promoting the sharing and reuse of software generally.
186187
187 NO WARRANTY
188 NO WARRANTY
188189
189190 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
190191 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
206207 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
207208 POSSIBILITY OF SUCH DAMAGES.
208209
209 END OF TERMS AND CONDITIONS
210
211 Appendix: How to Apply These Terms to Your New Programs
210 END OF TERMS AND CONDITIONS
211
212 Appendix: How to Apply These Terms to Your New Programs
212213
213214 If you develop a new program, and you want it to be of the greatest
214215 possible use to humanity, the best way to achieve this is to make it
234235 GNU General Public License for more details.
235236
236237 You should have received a copy of the GNU General Public License
237 along with this program; if not, write to the Free Software Foundation,
238 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
238 along with this program; if not, write to the Free Software
239 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
240
239241
240242 Also add information on how to contact you by electronic and paper mail.
241243
33 META.yml
44 Makefile.PL
55 README
6 devel/test-combos.pl
67 dist.ini
78 lib/Any/Moose.pm
89 t/000-version.t
77 - 'Goro Fuji <gfuji@cpan.org>'
88 build_requires: {}
99 configure_requires:
10 ExtUtils::MakeMaker: 6.31
10 ExtUtils::MakeMaker: 6.30
1111 dynamic_config: 0
12 generated_by: 'Dist::Zilla version 4.200004, CPAN::Meta::Converter version 2.110360'
12 generated_by: 'Dist::Zilla version 4.200007, CPAN::Meta::Converter version 2.110440'
1313 license: perl
1414 meta-spec:
1515 url: http://module-build.sourceforge.net/META-spec-v1.4.html
1818 requires:
1919 Mouse: 0.40
2020 perl: 5.006_002
21 version: 0.14
21 version: 0.15
11 use strict;
22 use warnings;
33
4 BEGIN { require 5.006_002; }
4 use 5.006_002;
55
6 use ExtUtils::MakeMaker 6.31;
6 use ExtUtils::MakeMaker 6.30;
77
88
99
1212 'AUTHOR' => 'Shawn M Moore <sartak@bestpractical.com>, Florian Ragwitz <rafl@debian.org>, Stevan Little <stevan@iinteractive.com>, Tokuhiro Matsuno <tokuhirom@gmail.com>, Goro Fuji <gfuji@cpan.org>',
1313 'BUILD_REQUIRES' => {},
1414 'CONFIGURE_REQUIRES' => {
15 'ExtUtils::MakeMaker' => '6.31'
15 'ExtUtils::MakeMaker' => '6.30'
1616 },
1717 'DISTNAME' => 'Any-Moose',
1818 'EXE_FILES' => [],
2121 'PREREQ_PM' => {
2222 'Mouse' => '0.40'
2323 },
24 'VERSION' => '0.14',
24 'VERSION' => '0.15',
2525 'test' => {
2626 'TESTS' => 't/*.t'
2727 }
00
11
22 This archive contains the distribution Any-Moose,
3 version 0.14:
3 version 0.15:
44
55 use Moose or Mouse modules
66
0 #!/usr/bin/env perl
1 use 5.14.0;
2 use warnings;
3 use Data::PowerSet 'powerset';
4
5 my @all_modules = qw(Mouse MouseX::Types Moose MooseX::Types);
6
7 my %results;
8
9 for my $modules (@{ powerset(@all_modules) }) {
10 my $list = join ',', @$modules;
11
12 say '=' x 60;
13 say "RUNNING WITHOUT $list";
14 say '=' x 60;
15
16 $ENV{PERL5OPT} = "-MTest::Without::Module=$list";
17 system("prove");
18
19 push @{ $results{ $? >> 8 ? "NOT OK" : "OK" } }, $list;
20 }
21
22 for my $result (sort keys %results) {
23 my @modules = @{ $results{$result} };
24 say "$result when testing without:";
25 say "* $_" for @modules;
26 say '';
27 }
28
29 __END__
30
31 ... test results ...
32
33 NOT OK when testing without:
34 * Mouse,MouseX::Types,Moose,MooseX::Types
35 * Mouse,Moose,MooseX::Types
36 * Mouse,MouseX::Types,Moose
37 * Mouse,Moose
38
39 OK when testing without:
40 * MouseX::Types,Moose,MooseX::Types
41 * Moose,MooseX::Types
42 * Mouse,MouseX::Types,MooseX::Types
43 * MouseX::Types,MooseX::Types
44 * Mouse,MooseX::Types
45 * MooseX::Types
46 * MouseX::Types,Moose
47 * Moose
48 * Mouse,MouseX::Types
49 * MouseX::Types
50 * Mouse
51 *
00 name = Any-Moose
1 version = 0.14
1 version = 0.15
22 author = Shawn M Moore <sartak@bestpractical.com>
33 author = Florian Ragwitz <rafl@debian.org>
44 author = Stevan Little <stevan@iinteractive.com>
1313
1414 [PodWeaver]
1515
16 [Prereq]
16 [Prereqs]
1717 Mouse = 0.40
1818 perl = 5.006_002
00 package Any::Moose;
11 BEGIN {
2 $Any::Moose::VERSION = '0.14';
2 $Any::Moose::VERSION = '0.15';
33 }
44 # ABSTRACT: use Moose or Mouse modules
55
235235
236236 =head1 VERSION
237237
238 version 0.14
238 version 0.15
239239
240240 =head1 SYNOPSIS
241241
1111
1212 sub show_version {
1313 my $klass = shift;
14 if (eval "require $klass; 1;") {
14 if (eval "use $klass (); 1") {
1515 no strict 'refs';
1616 diag "$klass: " . ${"${klass}::VERSION"};
1717 } else {
18 diag "$klass not found";
18 diag "$klass unavailable: $@";
1919 }
2020 }
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Moose';
9 plan skip_all => 'Moose not available' if $@;
8 eval 'use Moose ()';
9 plan skip_all => "Moose unavailable: $@" if $@;
1010 plan tests => 9;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Mouse';
9 plan skip_all => 'Mouse not available' if $@;
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
1010 plan tests => 9;
1111 }
1212
2828 ok(!Moused::Any::Moose->can('has'), "has was unimported");
2929
3030 SKIP: {
31 my $loaded_moose;
32 BEGIN { $loaded_moose = eval 'require Moose' }
33 skip "Moose required for these tests to be useful" => 3 unless $loaded_moose;
31 eval 'use Moose ()';
32 skip "Moose unavailable: $@" => 3 if $@;
3433
3534 do {
3635 package After::Moose;
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Moose';
9 plan skip_all => 'Moose not available' if $@;
8 eval 'use Moose ()';
9 plan skip_all => "Moose unavailable: $@" if $@;
1010 plan tests => 2;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Mouse';
9 plan skip_all => 'Mouse not available' if $@;
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
1010 plan tests => 2;
1111 }
1212
2020 };
2121
2222 SKIP: {
23 my $loaded_moose;
24 BEGIN { $loaded_moose = eval 'require Moose' }
25 skip "Moose required for these tests to be useful" => 1 unless $loaded_moose;
23 eval 'use Moose ()';
24 skip "Moose unavailable: $@" => 1 if $@;
2625
2726 do {
2827 package After::Moose;
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Mouse';
9 plan skip_all => 'Mouse not available' if $@;
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
1010 plan tests => 3;
1111 }
1212
2020 package Foo;
2121 BEGIN {
2222 SKIP: {
23 eval 'use Moose';
24 ::skip 'Moose not installed', 1 if $@;
23 eval 'use Moose ()';
24 ::skip "Moose unavailable: $@", 1 if $@;
2525
2626 ::ok(Any::Moose::_is_moose_loaded(), '... Moose is loaded');
2727 }
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Moose; require MooseX::Types';
9 plan skip_all => 'Moose or MooseX::Types not available' if $@;
8 eval 'use Moose ()';
9 plan skip_all => "Moose unavailable: $@" if $@;
10 eval 'use MooseX::Types ()';
11 plan skip_all => "Moose::Types unavailable: $@" if $@;
12
1013 plan tests => 2;
1114 }
1215
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 plan skip_all => 'Mouse or MouseX::Types 0.03 not available' unless eval "require Mouse; require MouseX::Types 0.03;";
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
10 eval 'use MouseX::Types 0.03';
11 plan skip_all => "Mouse::Types 0.03 unavailable: $@" if $@;
12
913 plan tests => 2;
1014 }
1115
1822 };
1923
2024 SKIP: {
21 my $loaded_moose;
22 BEGIN { $loaded_moose = eval 'require Moose; require MooseX::Types' }
23 skip "Moose and MooseX::Types required for these tests to be useful" => 1 unless $loaded_moose;
25 eval 'use Moose ()';
26 skip "Moose unavailable: $@" => 1 if $@;
27 eval 'use MooseX::Types ()';
28 skip "MooseX::Types unavailable: $@" => 1 if $@;
2429
2530 do {
2631 package After::Moose;
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Moose;';
9 plan skip_all => 'Moose not available' if $@;
8 eval 'use Moose ()';
9 plan skip_all => "Moose unavailable: $@" if $@;
1010 plan tests => 21;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Mouse;';
9 plan skip_all => 'Mouse not available' if $@;
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
1010 plan tests => 21;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Mouse';
9 plan skip_all => 'Mouse not available' if $@;
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
1010 plan tests => 1;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Moose';
9 plan skip_all => 'Moose not available' if $@;
8 eval 'use Moose ()';
9 plan skip_all => "Moose unavailable: $@" if $@;
1010 plan tests => 1;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Moose';
9 plan skip_all => 'Moose not available' if $@;
8 eval 'use Moose ()';
9 plan skip_all => "Moose unavailable: $@" if $@;
1010 plan tests => 2;
1111 }
1212
55 BEGIN { delete $ENV{ANY_MOOSE} }
66
77 BEGIN {
8 eval 'require Mouse';
9 plan skip_all => 'Mouse not available' if $@;
8 eval 'use Mouse ()';
9 plan skip_all => "Mouse unavailable: $@" if $@;
1010 plan tests => 2;
1111 }
1212