r64632 - in /branches/upstream/libmoosex-setonce-perl/current: Changes MANIFEST META.json META.yml Makefile.PL README lib/MooseX/SetOnce.pm t/release-pod-coverage.t t/release-pod-syntax.t t/setonce.t t/worm.t
ansgar at users.alioth.debian.org
ansgar at users.alioth.debian.org
Sat Nov 6 17:17:58 UTC 2010
Author: ansgar
Date: Sat Nov 6 17:16:29 2010
New Revision: 64632
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=64632
Log:
[svn-upgrade] new version libmoosex-setonce-perl (0.100472)
Added:
branches/upstream/libmoosex-setonce-perl/current/t/setonce.t
Removed:
branches/upstream/libmoosex-setonce-perl/current/t/release-pod-coverage.t
branches/upstream/libmoosex-setonce-perl/current/t/worm.t
Modified:
branches/upstream/libmoosex-setonce-perl/current/Changes
branches/upstream/libmoosex-setonce-perl/current/MANIFEST
branches/upstream/libmoosex-setonce-perl/current/META.json
branches/upstream/libmoosex-setonce-perl/current/META.yml
branches/upstream/libmoosex-setonce-perl/current/Makefile.PL
branches/upstream/libmoosex-setonce-perl/current/README
branches/upstream/libmoosex-setonce-perl/current/lib/MooseX/SetOnce.pm
branches/upstream/libmoosex-setonce-perl/current/t/release-pod-syntax.t
Modified: branches/upstream/libmoosex-setonce-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/Changes?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/Changes (original)
+++ branches/upstream/libmoosex-setonce-perl/current/Changes Sat Nov 6 17:16:29 2010
@@ -1,4 +1,7 @@
Revision history for MooseX-SetOnce
+
+0.100472 2010-11-03 16:14:19 America/New_York
+ include attribute name in error message
0.100471 2010-02-16 13:30:57 America/New_York
correct dist name (oops! thanks for noticing, mst)
Modified: branches/upstream/libmoosex-setonce-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/MANIFEST?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/MANIFEST (original)
+++ branches/upstream/libmoosex-setonce-perl/current/MANIFEST Sat Nov 6 17:16:29 2010
@@ -7,6 +7,5 @@
README
dist.ini
lib/MooseX/SetOnce.pm
-t/release-pod-coverage.t
t/release-pod-syntax.t
-t/worm.t
+t/setonce.t
Modified: branches/upstream/libmoosex-setonce-perl/current/META.json
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/META.json?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/META.json (original)
+++ branches/upstream/libmoosex-setonce-perl/current/META.json Sat Nov 6 17:16:29 2010
@@ -1,25 +1,221 @@
{
- "resources" : {
- "repository" : "git://git.codesimply.com/MooseX-SetOnce.git"
- },
- "generated_by" : "Dist::Zilla version 1.100160",
- "meta-spec" : {
- "version" : 1.4,
- "url" : "http://module-build.sourceforge.net/META-spec-v1.4.html"
- },
- "version" : "0.100471",
- "name" : "MooseX-SetOnce",
+ "abstract" : "write-once, read-many attributes for Moose",
"author" : [
"Ricardo SIGNES <rjbs at cpan.org>"
],
- "license" : "perl",
- "requires" : {
- "Moose::Role" : "0.90",
- "Test::More" : 0,
- "Try::Tiny" : 0,
- "ExtUtils::MakeMaker" : "6.11",
- "Moose" : 0
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.102342, CPAN::Meta::Converter version 2.102400",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
},
- "abstract" : "write-once, read-many attributes for Moose"
+ "name" : "MooseX-SetOnce",
+ "prereqs" : {
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.31"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Moose::Role" : "0.90"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "Moose" : 0,
+ "Test::Fatal" : 0,
+ "Test::More" : "0.96"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.codesimply.com/MooseX-SetOnce.git"
+ }
+ },
+ "version" : "0.100472",
+ "x_Dist_Zilla" : {
+ "plugins" : [
+ {
+ "class" : "Dist::Zilla::Plugin::GatherDir",
+ "name" : "@RJBS/@Basic/GatherDir",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneCruft",
+ "name" : "@RJBS/@Basic/PruneCruft",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ManifestSkip",
+ "name" : "@RJBS/@Basic/ManifestSkip",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaYAML",
+ "name" : "@RJBS/@Basic/MetaYAML",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::License",
+ "name" : "@RJBS/@Basic/License",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Readme",
+ "name" : "@RJBS/@Basic/Readme",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ExtraTests",
+ "name" : "@RJBS/@Basic/ExtraTests",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ExecDir",
+ "name" : "@RJBS/@Basic/ExecDir",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ShareDir",
+ "name" : "@RJBS/@Basic/ShareDir",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
+ "name" : "@RJBS/@Basic/MakeMaker",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Manifest",
+ "name" : "@RJBS/@Basic/Manifest",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::TestRelease",
+ "name" : "@RJBS/@Basic/TestRelease",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+ "name" : "@RJBS/@Basic/ConfirmRelease",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+ "name" : "@RJBS/@Basic/UploadToCPAN",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+ "name" : "@RJBS/AutoPrereqs",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+ "name" : "@RJBS/Git::NextVersion",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PkgVersion",
+ "name" : "@RJBS/PkgVersion",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaConfig",
+ "name" : "@RJBS/MetaConfig",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaJSON",
+ "name" : "@RJBS/MetaJSON",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::NextRelease",
+ "name" : "@RJBS/NextRelease",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+ "name" : "@RJBS/PodSyntaxTests",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Repository",
+ "name" : "@RJBS/Repository",
+ "version" : "0.14"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Prereqs",
+ "config" : {
+ "Dist::Zilla::Plugin::Prereqs" : {
+ "phase" : "test",
+ "type" : "requires"
+ }
+ },
+ "name" : "@RJBS/TestMoreWithSubtests",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodWeaver",
+ "name" : "@RJBS/PodWeaver",
+ "version" : "3.101641"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Check",
+ "name" : "@RJBS/@Git/Check",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Commit",
+ "name" : "@RJBS/@Git/Commit",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Tag",
+ "name" : "@RJBS/@Git/Tag",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Push",
+ "name" : "@RJBS/@Git/Push",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":InstallModules",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":TestFiles",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ExecFiles",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ShareFiles",
+ "version" : "4.102342"
+ }
+ ],
+ "zilla" : {
+ "class" : "Dist::Zilla::Dist::Builder",
+ "config" : {
+ "is_trial" : 0
+ },
+ "version" : "4.102342"
+ }
+ }
}
Modified: branches/upstream/libmoosex-setonce-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/META.yml?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/META.yml (original)
+++ branches/upstream/libmoosex-setonce-perl/current/META.yml Sat Nov 6 17:16:29 2010
@@ -2,18 +2,160 @@
abstract: 'write-once, read-many attributes for Moose'
author:
- 'Ricardo SIGNES <rjbs at cpan.org>'
-generated_by: 'Dist::Zilla version 1.100160'
+build_requires:
+ Moose: 0
+ Test::Fatal: 0
+ Test::More: 0.96
+configure_requires:
+ ExtUtils::MakeMaker: 6.31
+dynamic_config: 0
+generated_by: 'Dist::Zilla version 4.102342, CPAN::Meta::Converter version 2.102400'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: MooseX-SetOnce
requires:
- ExtUtils::MakeMaker: 6.11
- Moose: 0
Moose::Role: 0.90
- Test::More: 0
- Try::Tiny: 0
resources:
repository: git://git.codesimply.com/MooseX-SetOnce.git
-version: 0.100471
+version: 0.100472
+x_Dist_Zilla:
+ plugins:
+ -
+ class: Dist::Zilla::Plugin::GatherDir
+ name: '@RJBS/@Basic/GatherDir'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::PruneCruft
+ name: '@RJBS/@Basic/PruneCruft'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::ManifestSkip
+ name: '@RJBS/@Basic/ManifestSkip'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::MetaYAML
+ name: '@RJBS/@Basic/MetaYAML'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::License
+ name: '@RJBS/@Basic/License'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::Readme
+ name: '@RJBS/@Basic/Readme'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::ExtraTests
+ name: '@RJBS/@Basic/ExtraTests'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::ExecDir
+ name: '@RJBS/@Basic/ExecDir'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::ShareDir
+ name: '@RJBS/@Basic/ShareDir'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::MakeMaker
+ name: '@RJBS/@Basic/MakeMaker'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::Manifest
+ name: '@RJBS/@Basic/Manifest'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::TestRelease
+ name: '@RJBS/@Basic/TestRelease'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::ConfirmRelease
+ name: '@RJBS/@Basic/ConfirmRelease'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::UploadToCPAN
+ name: '@RJBS/@Basic/UploadToCPAN'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::AutoPrereqs
+ name: '@RJBS/AutoPrereqs'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::Git::NextVersion
+ name: '@RJBS/Git::NextVersion'
+ version: 1.102810
+ -
+ class: Dist::Zilla::Plugin::PkgVersion
+ name: '@RJBS/PkgVersion'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::MetaConfig
+ name: '@RJBS/MetaConfig'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::MetaJSON
+ name: '@RJBS/MetaJSON'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::NextRelease
+ name: '@RJBS/NextRelease'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::PodSyntaxTests
+ name: '@RJBS/PodSyntaxTests'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::Repository
+ name: '@RJBS/Repository'
+ version: 0.14
+ -
+ class: Dist::Zilla::Plugin::Prereqs
+ config:
+ Dist::Zilla::Plugin::Prereqs:
+ phase: test
+ type: requires
+ name: '@RJBS/TestMoreWithSubtests'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::PodWeaver
+ name: '@RJBS/PodWeaver'
+ version: 3.101641
+ -
+ class: Dist::Zilla::Plugin::Git::Check
+ name: '@RJBS/@Git/Check'
+ version: 1.102810
+ -
+ class: Dist::Zilla::Plugin::Git::Commit
+ name: '@RJBS/@Git/Commit'
+ version: 1.102810
+ -
+ class: Dist::Zilla::Plugin::Git::Tag
+ name: '@RJBS/@Git/Tag'
+ version: 1.102810
+ -
+ class: Dist::Zilla::Plugin::Git::Push
+ name: '@RJBS/@Git/Push'
+ version: 1.102810
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':InstallModules'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':TestFiles'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':ExecFiles'
+ version: 4.102342
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':ShareFiles'
+ version: 4.102342
+ zilla:
+ class: Dist::Zilla::Dist::Builder
+ config:
+ is_trial: 0
+ version: 4.102342
Modified: branches/upstream/libmoosex-setonce-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/Makefile.PL?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/Makefile.PL (original)
+++ branches/upstream/libmoosex-setonce-perl/current/Makefile.PL Sat Nov 6 17:16:29 2010
@@ -4,33 +4,50 @@
-use ExtUtils::MakeMaker 6.11;
+use ExtUtils::MakeMaker 6.31;
my %WriteMakefileArgs = (
- 'test' => {
- 'TESTS' => 't/*.t'
- },
- 'NAME' => 'MooseX::SetOnce',
- 'DISTNAME' => 'MooseX-SetOnce',
- 'AUTHOR' => 'Ricardo SIGNES <rjbs at cpan.org>',
- 'ABSTRACT' => 'write-once, read-many attributes for Moose',
- 'EXE_FILES' => [],
- 'VERSION' => '0.100471',
- 'LICENSE' => 'perl',
- 'PREREQ_PM' => {
- 'Try::Tiny' => 0,
- 'Test::More' => 0,
- 'Moose::Role' => '0.90',
- 'ExtUtils::MakeMaker' => '6.11',
- 'Moose' => 0
- }
- );
+ 'ABSTRACT' => 'write-once, read-many attributes for Moose',
+ 'AUTHOR' => 'Ricardo SIGNES <rjbs at cpan.org>',
+ 'BUILD_REQUIRES' => {
+ 'Moose' => '0',
+ 'Test::Fatal' => '0',
+ 'Test::More' => '0.96'
+ },
+ 'CONFIGURE_REQUIRES' => {
+ 'ExtUtils::MakeMaker' => '6.31'
+ },
+ 'DISTNAME' => 'MooseX-SetOnce',
+ 'EXE_FILES' => [],
+ 'LICENSE' => 'perl',
+ 'NAME' => 'MooseX::SetOnce',
+ 'PREREQ_PM' => {
+ 'Moose::Role' => '0.90'
+ },
+ 'VERSION' => '0.100472',
+ 'test' => {
+ 'TESTS' => 't/*.t'
+ }
+);
-delete $WriteMakefileArgs{LICENSE}
- unless eval { ExtUtils::MakeMaker->VERSION(6.31) };
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
+ my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
+ my $pp = $WriteMakefileArgs{PREREQ_PM};
+ for my $mod ( keys %$br ) {
+ if ( exists $pp->{$mod} ) {
+ $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
+ }
+ else {
+ $pp->{$mod} = $br->{$mod};
+ }
+ }
+}
+
+delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
+ unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
WriteMakefile(%WriteMakefileArgs);
Modified: branches/upstream/libmoosex-setonce-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/README?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/README (original)
+++ branches/upstream/libmoosex-setonce-perl/current/README Sat Nov 6 17:16:29 2010
@@ -1,7 +1,7 @@
-This archive contains the distribution MooseX-SetOnce, version
-0.100471:
+This archive contains the distribution MooseX-SetOnce,
+version 0.100472:
write-once, read-many attributes for Moose
@@ -10,3 +10,4 @@
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
+
Modified: branches/upstream/libmoosex-setonce-perl/current/lib/MooseX/SetOnce.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/lib/MooseX/SetOnce.pm?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/lib/MooseX/SetOnce.pm (original)
+++ branches/upstream/libmoosex-setonce-perl/current/lib/MooseX/SetOnce.pm Sat Nov 6 17:16:29 2010
@@ -1,19 +1,23 @@
use strict;
use warnings;
package MooseX::SetOnce;
-our $VERSION = '0.100471';
+BEGIN {
+ $MooseX::SetOnce::VERSION = '0.100472';
+}
# ABSTRACT: write-once, read-many attributes for Moose
package MooseX::SetOnce::Attribute;
-our $VERSION = '0.100471';
+BEGIN {
+ $MooseX::SetOnce::Attribute::VERSION = '0.100472';
+}
use Moose::Role 0.90;
before set_value => sub { $_[0]->_ensure_unset($_[1]) };
sub _ensure_unset {
my ($self, $instance) = @_;
- Carp::confess("cannot change value of SetOnce attribute")
+ Carp::confess("cannot change value of SetOnce attribute " . $self->name)
if $self->has_value($instance);
}
@@ -28,7 +32,9 @@
};
package MooseX::SetOnce::Accessor;
-our $VERSION = '0.100471';
+BEGIN {
+ $MooseX::SetOnce::Accessor::VERSION = '0.100472';
+}
use Moose::Role 0.90;
around _inline_store => sub {
@@ -45,7 +51,9 @@
};
package Moose::Meta::Attribute::Custom::Trait::SetOnce;
-our $VERSION = '0.100471';
+BEGIN {
+ $Moose::Meta::Attribute::Custom::Trait::SetOnce::VERSION = '0.100472';
+}
sub register_implementation { 'MooseX::SetOnce::Attribute' }
1;
@@ -59,7 +67,7 @@
=head1 VERSION
-version 0.100471
+version 0.100472
=head1 SYNOPSIS
@@ -94,7 +102,7 @@
=head1 AUTHOR
- Ricardo SIGNES <rjbs at cpan.org>
+Ricardo SIGNES <rjbs at cpan.org>
=head1 COPYRIGHT AND LICENSE
Modified: branches/upstream/libmoosex-setonce-perl/current/t/release-pod-syntax.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/t/release-pod-syntax.t?rev=64632&op=diff
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/t/release-pod-syntax.t (original)
+++ branches/upstream/libmoosex-setonce-perl/current/t/release-pod-syntax.t Sat Nov 6 17:16:29 2010
@@ -9,7 +9,7 @@
use Test::More;
-eval "use Test::Pod 1.00";
-plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+eval "use Test::Pod 1.41";
+plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
-all_pod_files_ok();
+all_pod_files_ok();
Added: branches/upstream/libmoosex-setonce-perl/current/t/setonce.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-setonce-perl/current/t/setonce.t?rev=64632&op=file
==============================================================================
--- branches/upstream/libmoosex-setonce-perl/current/t/setonce.t (added)
+++ branches/upstream/libmoosex-setonce-perl/current/t/setonce.t Sat Nov 6 17:16:29 2010
@@ -1,0 +1,68 @@
+use strict;
+use warnings;
+use Test::More;
+use Test::Fatal;
+
+use lib 'lib';
+require MooseX::SetOnce;
+
+{
+ package Apple;
+ use Moose;
+
+ has color => (
+ is => 'rw',
+ traits => [ qw(SetOnce) ],
+ );
+}
+
+{
+ package Orange;
+ use Moose;
+
+ has color => (
+ reader => 'get_color',
+ writer => 'set_color',
+ traits => [ qw(SetOnce) ],
+ );
+}
+
+for my $set (
+ [ Apple => qw( color color) ],
+ [ Orange => qw(get_color set_color) ],
+) {
+ my ($class, $getter, $setter) = @$set;
+ my $object = $class->new;
+
+ {
+ is(
+ exception { $object->$setter('green'); },
+ undef,
+ "can set a SetOnce attr once",
+ );
+
+ is($object->$getter, 'green', "it has the first value we set");
+ }
+
+ {
+ like(
+ exception { $object->$setter('blue'); },
+ qr{cannot change value.+\bcolor\b},
+ "can't set a SetOnce attr twice (via $setter)",
+ );
+ is($object->$getter, 'green', "it has the first value we set");
+ }
+
+ {
+ like(
+ exception {
+ $object->meta->get_attribute('color')->set_value($object, 'yellow');
+ },
+ qr{cannot change value.+\bcolor\b},
+ "can't set a SetOnce attr twice (via set_value)",
+ );
+ is($object->$getter, 'green', "it has the first value we set");
+ }
+}
+
+done_testing;
More information about the Pkg-perl-cvs-commits
mailing list