r75299 - in /trunk/libaspect-perl: ./ debian/ lib/ lib/Aspect/ lib/Aspect/Advice/ lib/Aspect/Library/ lib/Aspect/Library/Listenable/ lib/Aspect/Point/ lib/Aspect/Pointcut/ t/
angelabad-guest at users.alioth.debian.org
angelabad-guest at users.alioth.debian.org
Thu Jun 9 12:02:07 UTC 2011
Author: angelabad-guest
Date: Thu Jun 9 12:01:57 2011
New Revision: 75299
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=75299
Log:
New upstream release
Added:
trunk/libaspect-perl/lib/Aspect/Point/Functions.pm
- copied unchanged from r75298, branches/upstream/libaspect-perl/current/lib/Aspect/Point/Functions.pm
trunk/libaspect-perl/t/34_point_functions.t
- copied unchanged from r75298, branches/upstream/libaspect-perl/current/t/34_point_functions.t
trunk/libaspect-perl/t/70_listenable.t
- copied unchanged from r75298, branches/upstream/libaspect-perl/current/t/70_listenable.t
trunk/libaspect-perl/t/71_singleton.t
- copied unchanged from r75298, branches/upstream/libaspect-perl/current/t/71_singleton.t
trunk/libaspect-perl/t/72_wormhole.t
- copied unchanged from r75298, branches/upstream/libaspect-perl/current/t/72_wormhole.t
Removed:
trunk/libaspect-perl/t/listenable.t
trunk/libaspect-perl/t/singleton.t
trunk/libaspect-perl/t/wormhole.t
Modified:
trunk/libaspect-perl/Changes
trunk/libaspect-perl/MANIFEST
trunk/libaspect-perl/META.yml
trunk/libaspect-perl/README
trunk/libaspect-perl/debian/changelog
trunk/libaspect-perl/lib/Aspect.pm
trunk/libaspect-perl/lib/Aspect/Advice.pm
trunk/libaspect-perl/lib/Aspect/Advice/After.pm
trunk/libaspect-perl/lib/Aspect/Advice/Around.pm
trunk/libaspect-perl/lib/Aspect/Advice/Before.pm
trunk/libaspect-perl/lib/Aspect/Guard.pm
trunk/libaspect-perl/lib/Aspect/Hook.pm
trunk/libaspect-perl/lib/Aspect/Legacy.pm
trunk/libaspect-perl/lib/Aspect/Library.pm
trunk/libaspect-perl/lib/Aspect/Library/Breakpoint.pm
trunk/libaspect-perl/lib/Aspect/Library/Listenable.pm
trunk/libaspect-perl/lib/Aspect/Library/Listenable/Event.pm
trunk/libaspect-perl/lib/Aspect/Library/Singleton.pm
trunk/libaspect-perl/lib/Aspect/Library/Wormhole.pm
trunk/libaspect-perl/lib/Aspect/Modular.pm
trunk/libaspect-perl/lib/Aspect/Point.pm
trunk/libaspect-perl/lib/Aspect/Point/Static.pm
trunk/libaspect-perl/lib/Aspect/Pointcut.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/And.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Call.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Cflow.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Highest.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Logic.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Not.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Or.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Returning.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Throwing.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/True.pm
trunk/libaspect-perl/lib/Aspect/Pointcut/Wantarray.pm
trunk/libaspect-perl/t/01_compile.t
trunk/libaspect-perl/t/33_feature_topic.t
Modified: trunk/libaspect-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/Changes?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/Changes (original)
+++ trunk/libaspect-perl/Changes Thu Jun 9 12:01:57 2011
@@ -1,4 +1,8 @@
Revision history for Perl extension Aspect
+
+1.01 Thu 9 Jun 2011
+ - Added experimental function interface for the join point context.
+ - Move the library tests into the numeric order
1.00 Thu 26 May 2011
- First production release of the second-generation Aspect.pm!
Modified: trunk/libaspect-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/MANIFEST?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/MANIFEST (original)
+++ trunk/libaspect-perl/MANIFEST Thu Jun 9 12:01:57 2011
@@ -31,6 +31,7 @@
lib/Aspect/Library/Wormhole.pm
lib/Aspect/Modular.pm
lib/Aspect/Point.pm
+lib/Aspect/Point/Functions.pm
lib/Aspect/Point/Static.pm
lib/Aspect/Pointcut.pm
lib/Aspect/Pointcut/And.pm
@@ -68,14 +69,15 @@
t/31_feature_caller.t
t/32_feature_wantarray.t
t/33_feature_topic.t
+t/34_point_functions.t
t/50_legacy.t
t/51_legacy_wantarray.t
t/60_legacy_after_returning.t
t/61_legacy_after_throwing.t
-t/listenable.t
+t/70_listenable.t
+t/71_singleton.t
+t/72_wormhole.t
t/rt_57417.t
-t/singleton.t
-t/wormhole.t
xt/meta.t
xt/pmv.t
xt/pod.t
Modified: trunk/libaspect-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/META.yml?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/META.yml (original)
+++ trunk/libaspect-perl/META.yml Thu Jun 9 12:01:57 2011
@@ -33,4 +33,4 @@
ChangeLog: http://fisheye2.atlassian.com/changelog/cpan/trunk/Aspect
license: http://dev.perl.org/licenses/
repository: http://svn.ali.as/cpan/trunk/Aspect
-version: 1.00
+version: 1.01
Modified: trunk/libaspect-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/README?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/README (original)
+++ trunk/libaspect-perl/README Thu Jun 9 12:01:57 2011
@@ -784,7 +784,7 @@
For more information on writing reusable aspects, see Aspect::Library.
-POINTCUT OPERATORS
+OPERATORS
&
Overloading of bitwise "&" for pointcut declarations allows a natural
looking boolean "and" logic for pointcuts. When using the "&" operator
@@ -826,7 +826,7 @@
For more information, see Aspect::Pointcut::Not.
-ADVICE METHODS
+METHODS
A range of different methods are available within each type of advice
code.
Modified: trunk/libaspect-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/debian/changelog?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/debian/changelog (original)
+++ trunk/libaspect-perl/debian/changelog Thu Jun 9 12:01:57 2011
@@ -1,3 +1,9 @@
+libaspect-perl (1.01-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Angel Abad <angelabad at gmail.com> Thu, 09 Jun 2011 14:01:43 +0200
+
libaspect-perl (1.00-1) unstable; urgency=low
* New upstream release
Modified: trunk/libaspect-perl/lib/Aspect.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect.pm (original)
+++ trunk/libaspect-perl/lib/Aspect.pm Thu Jun 9 12:01:57 2011
@@ -455,7 +455,7 @@
use Aspect::Point ();
use Aspect::Point::Static ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our %FLAGS = ();
# Track the location of exported functions so that pointcuts
@@ -1048,7 +1048,7 @@
=pod
-=head1 POINTCUT OPERATORS
+=head1 OPERATORS
=head2 &
@@ -1091,7 +1091,7 @@
For more information, see L<Aspect::Pointcut::Not>.
-=head1 ADVICE METHODS
+=head1 METHODS
A range of different methods are available within each type of advice code.
Modified: trunk/libaspect-perl/lib/Aspect/Advice.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Advice.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Advice.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Advice.pm Thu Jun 9 12:01:57 2011
@@ -4,7 +4,7 @@
use warnings;
use Carp ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
sub new {
my $class = shift;
Modified: trunk/libaspect-perl/lib/Aspect/Advice/After.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Advice/After.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Advice/After.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Advice/After.pm Thu Jun 9 12:01:57 2011
@@ -12,7 +12,7 @@
use Aspect::Advice ();
use Aspect::Point ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Advice';
# NOTE: To simplify debugging of the generated code, all injected string
Modified: trunk/libaspect-perl/lib/Aspect/Advice/Around.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Advice/Around.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Advice/Around.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Advice/Around.pm Thu Jun 9 12:01:57 2011
@@ -12,7 +12,7 @@
use Aspect::Advice ();
use Aspect::Point ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Advice';
sub _install {
Modified: trunk/libaspect-perl/lib/Aspect/Advice/Before.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Advice/Before.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Advice/Before.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Advice/Before.pm Thu Jun 9 12:01:57 2011
@@ -11,7 +11,7 @@
use Aspect::Advice ();
use Aspect::Point ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Advice';
sub _install {
Modified: trunk/libaspect-perl/lib/Aspect/Guard.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Guard.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Guard.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Guard.pm Thu Jun 9 12:01:57 2011
@@ -31,7 +31,7 @@
use strict;
use warnings;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
=pod
Modified: trunk/libaspect-perl/lib/Aspect/Hook.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Hook.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Hook.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Hook.pm Thu Jun 9 12:01:57 2011
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
1;
Modified: trunk/libaspect-perl/lib/Aspect/Legacy.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Legacy.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Legacy.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Legacy.pm Thu Jun 9 12:01:57 2011
@@ -28,7 +28,7 @@
use Aspect ();
use Exporter ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Exporter';
our @EXPORT = qw( aspect before after call cflow );
our $INSTALLED = 0;
Modified: trunk/libaspect-perl/lib/Aspect/Library.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Library.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Library.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Library.pm Thu Jun 9 12:01:57 2011
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
1;
Modified: trunk/libaspect-perl/lib/Aspect/Library/Breakpoint.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Library/Breakpoint.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Library/Breakpoint.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Library/Breakpoint.pm Thu Jun 9 12:01:57 2011
@@ -5,7 +5,7 @@
use Aspect::Library ();
use Aspect::Advice::Before ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Library';
sub get_advice {
Modified: trunk/libaspect-perl/lib/Aspect/Library/Listenable.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Library/Listenable.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Library/Listenable.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Library/Listenable.pm Thu Jun 9 12:01:57 2011
@@ -12,7 +12,7 @@
use Aspect::Advice::Before ();
use Aspect::Library::Listenable::Event ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Modular';
sub import {
Modified: trunk/libaspect-perl/lib/Aspect/Library/Listenable/Event.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Library/Listenable/Event.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Library/Listenable/Event.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Library/Listenable/Event.pm Thu Jun 9 12:01:57 2011
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
sub new {
my $class = shift;
Modified: trunk/libaspect-perl/lib/Aspect/Library/Singleton.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Library/Singleton.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Library/Singleton.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Library/Singleton.pm Thu Jun 9 12:01:57 2011
@@ -6,7 +6,7 @@
use Aspect::Advice::Before ();
use Aspect::Pointcut::Call ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Modular';
my %CACHE = ();
Modified: trunk/libaspect-perl/lib/Aspect/Library/Wormhole.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Library/Wormhole.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Library/Wormhole.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Library/Wormhole.pm Thu Jun 9 12:01:57 2011
@@ -8,7 +8,7 @@
use Aspect::Pointcut::Call ();
use Aspect::Pointcut::Cflow ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Modular';
sub get_advice {
Modified: trunk/libaspect-perl/lib/Aspect/Modular.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Modular.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Modular.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Modular.pm Thu Jun 9 12:01:57 2011
@@ -4,7 +4,7 @@
use warnings;
use Aspect::Library ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Library';
sub new {
Modified: trunk/libaspect-perl/lib/Aspect/Point.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Point.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Point.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Point.pm Thu Jun 9 12:01:57 2011
@@ -123,7 +123,7 @@
use Sub::Uplevel ();
use Aspect::Point::Static ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
Modified: trunk/libaspect-perl/lib/Aspect/Point/Static.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Point/Static.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Point/Static.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Point/Static.pm Thu Jun 9 12:01:57 2011
@@ -5,7 +5,7 @@
use Carp ();
use Aspect::Point ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Point';
@@ -34,7 +34,7 @@
=head1 NAME
-Aspect::Point - The Join Point context for join point static parts
+Aspect::Point::Static - The Join Point context for join point static parts
=head1 DESCRIPTION
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut.pm Thu Jun 9 12:01:57 2011
@@ -40,7 +40,7 @@
use Aspect::Pointcut::And ();
use Aspect::Pointcut::Not ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
use overload (
# Keep traditional Perl boolification and stringification
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/And.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/And.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/And.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/And.pm Thu Jun 9 12:01:57 2011
@@ -4,7 +4,7 @@
use warnings;
use Aspect::Pointcut::Logic ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut::Logic';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Call.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Call.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Call.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Call.pm Thu Jun 9 12:01:57 2011
@@ -6,7 +6,7 @@
use Params::Util ();
use Aspect::Pointcut ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
use constant ORIGINAL => 0;
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Cflow.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Cflow.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Cflow.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Cflow.pm Thu Jun 9 12:01:57 2011
@@ -8,7 +8,7 @@
use Aspect::Pointcut::Call ();
use Aspect::Point::Static ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
use constant KEY => 0;
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Highest.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Highest.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Highest.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Highest.pm Thu Jun 9 12:01:57 2011
@@ -8,7 +8,7 @@
use Aspect::Guard ();
use Aspect::Pointcut ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Logic.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Logic.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Logic.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Logic.pm Thu Jun 9 12:01:57 2011
@@ -8,7 +8,7 @@
use Params::Util ();
use Aspect::Pointcut ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
sub match_runtime {
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Not.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Not.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Not.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Not.pm Thu Jun 9 12:01:57 2011
@@ -4,7 +4,7 @@
use warnings;
use Aspect::Pointcut::Logic ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut::Logic';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Or.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Or.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Or.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Or.pm Thu Jun 9 12:01:57 2011
@@ -4,7 +4,7 @@
use warnings;
use Aspect::Pointcut::Logic ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut::Logic';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Returning.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Returning.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Returning.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Returning.pm Thu Jun 9 12:01:57 2011
@@ -5,7 +5,7 @@
use Carp ();
use Aspect::Pointcut ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Throwing.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Throwing.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Throwing.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Throwing.pm Thu Jun 9 12:01:57 2011
@@ -8,7 +8,7 @@
use Aspect::Pointcut::Not ();
use Aspect::Pointcut::Returning ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/True.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/True.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/True.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/True.pm Thu Jun 9 12:01:57 2011
@@ -4,7 +4,7 @@
use warnings;
use Aspect::Pointcut ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
Modified: trunk/libaspect-perl/lib/Aspect/Pointcut/Wantarray.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/lib/Aspect/Pointcut/Wantarray.pm?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/lib/Aspect/Pointcut/Wantarray.pm (original)
+++ trunk/libaspect-perl/lib/Aspect/Pointcut/Wantarray.pm Thu Jun 9 12:01:57 2011
@@ -5,7 +5,7 @@
use Carp ();
use Aspect::Pointcut ();
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = 'Aspect::Pointcut';
use constant VOID => 1;
Modified: trunk/libaspect-perl/t/01_compile.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/t/01_compile.t?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/t/01_compile.t (original)
+++ trunk/libaspect-perl/t/01_compile.t Thu Jun 9 12:01:57 2011
@@ -6,7 +6,7 @@
$^W = 1;
}
-use Test::More tests => 6;
+use Test::More tests => 7;
use Test::NoWarnings;
use_ok( 'Aspect' );
@@ -14,3 +14,4 @@
use_ok( 'Aspect::Library::Listenable' );
use_ok( 'Aspect::Library::Singleton' );
use_ok( 'Aspect::Library::Wormhole' );
+require_ok( 'Aspect::Point::Functions' );
Modified: trunk/libaspect-perl/t/33_feature_topic.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libaspect-perl/t/33_feature_topic.t?rev=75299&op=diff
==============================================================================
--- trunk/libaspect-perl/t/33_feature_topic.t (original)
+++ trunk/libaspect-perl/t/33_feature_topic.t Thu Jun 9 12:01:57 2011
@@ -1,6 +1,4 @@
#!/usr/bin/perl
-
-# Tests that function which operate on the topic variable $_ work correctly
use strict;
BEGIN {
@@ -8,84 +6,345 @@
$^W = 1;
}
-use Test::More tests => 10;
+use Test::More tests => 56;
use Test::NoWarnings;
use Aspect;
-
-
-
-
-######################################################################
-# Topic Propogation and Manipulation
-
-SCOPE: {
- package Bar;
-
- sub around_control {
- $_ += 10;
- return "Topic is $_";
+# Lexicals to track call counts in the support class
+my $new = 0;
+my $foo = 0;
+my $bar = 0;
+my $inc = 0;
+
+# Create the test object
+my $object = My::One->new;
+isa_ok( $object, 'My::One' );
+is( $new, 1, '->new 1' );
+
+
+
+
+
+######################################################################
+# Basic Usage
+
+# Do the methods act as normal
+is( $object->foo, 'foo', 'foo not yet installed' );
+is( $object->inc(2), 3, 'inc not yet installed' );
+is( $foo, 1, '->foo is called' );
+is( $inc, 1, '->inc is called' );
+
+# Check that the null case does nothing
+SCOPE: {
+ my $aspect = before {
+ # It's oh so quiet...
+ } call 'My::One::foo';
+ is( $object->foo, 'foo', 'Null case does not change anything' );
+ is( $foo, 2, '->foo is called' );
+}
+
+# ... and uninstalls properly
+is( $object->foo, 'foo', 'foo uninstalled' );
+is( $foo, 3, '->foo is called' );
+
+# Check that return_value works as expected and does not pass through
+SCOPE: {
+ my $aspect = before {
+ $_->return_value('bar')
+ } call "My::One::foo";
+ is( $object->foo, 'bar', 'before changing return_value' );
+ is( $foo, 3, '->foo is not called' );
+}
+
+# ... and uninstalls properly
+is( $object->foo, 'foo', 'foo uninstalled' );
+is( $foo, 4, '->foo is called' );
+
+# Check that proceed works as expected and does not pass through
+SCOPE: {
+ my $aspect = before {
+ $_->return_value;
+ } call "My::One::foo";
+ is( scalar($object->foo), undef, 'scalar process(0) shortcuts to undef' );
+ is_deeply( [ $object->foo ], [ ], 'list process(0) shortcuts to ()' );
+ is( $foo, 4, '->foo is not called' );
+}
+
+# ... and uninstalls properly
+is( $object->foo, 'foo', 'foo uninstalled' );
+is( $foo, 5, '->foo is called' );
+
+# Check that params works as expected and does pass through
+SCOPE: {
+ my $aspect = before {
+ my @p = $_->args;
+ splice @p, 1, 1, $p[1] + 1;
+ $_->args(@p);
+ } call qr/My::One::inc/;
+ is( $object->inc(2), 4, 'before advice changing params' );
+ is( $inc, 2, '->inc is called' );
+}
+
+# Check that we can rehook the same function.
+# Check that we can run several simultaneous hooks.
+SCOPE: {
+ my $aspect1 = before {
+ my @p = $_->args;
+ splice @p, 1, 1, $p[1] + 1;
+ $_->args(@p);
+ } call qr/My::One::inc/;
+ my $aspect2 = before {
+ my @p = $_->args;
+ splice @p, 1, 1, $p[1] + 1;
+ $_->args(@p);
+ } call qr/My::One::inc/;
+ my $aspect3 = before {
+ my @p = $_->args;
+ splice @p, 1, 1, $p[1] + 1;
+ $_->args(@p);
+ } call qr/My::One::inc/;
+ is( $object->inc(2), 6, 'before advice changing params' );
+ is( $inc, 3, '->inc is called' );
+}
+
+# Were the hooks removed cleanly?
+is( $object->inc(3), 4, 'inc uninstalled' );
+is( $inc, 4, '->inc is called' );
+
+# Check the introduction of a permanent hook
+before {
+ $_->return_value('forever');
+} call 'My::One::inc';
+is( $object->inc, 'forever', '->inc hooked forever' );
+is( $inc, 4, '->inc not called' );
+
+
+
+
+
+######################################################################
+# Usage with Cflow
+
+# Check before hook installation
+is( $object->bar, 'foo', 'bar cflow not yet installed' );
+is( $object->foo, 'foo', 'foo cflow not yet installed' );
+is( $bar, 1, '->bar is called' );
+is( $foo, 7, '->foo is called for both ->bar and ->foo' );
+
+SCOPE: {
+ my $advice = before {
+ my $c = shift;
+ $c->return_value($c->my_key->self);
+ } call "My::One::foo"
+ & cflow my_key => "My::One::bar";
+
+ # ->foo is hooked when called via ->bar, but not directly
+ is( $object->bar, $object, 'foo cflow installed' );
+ is( $bar, 2, '->bar is called' );
+ is( $foo, 7, '->foo is not called' );
+ is( $object->foo, 'foo', 'foo called out of the cflow' );
+ is( $foo, 8, '->foo is called' );
+}
+
+# Confirm original behaviour on uninstallation
+is( $object->bar, 'foo', 'bar cflow uninstalled' );
+is( $object->foo, 'foo', 'foo cflow uninstalled' );
+is( $bar, 3, '->bar is called' );
+is( $foo, 10, '->foo is called for both' );
+
+
+
+
+
+######################################################################
+# Prototype Support
+
+sub main::no_proto { shift }
+sub main::with_proto ($) { shift }
+
+# Control case
+SCOPE: {
+ my $advice = before {
+ $_->return_value('wrapped')
+ } call 'main::no_proto';
+ is( main::no_proto('foo'), 'wrapped', 'No prototype' );
+}
+
+# Confirm correct parameter error before hooking
+SCOPE: {
+ local $@;
+ eval 'main::with_proto(1, 2)';
+ like( $@, qr/Too many arguments/, 'prototypes are obeyed' );
+}
+
+# Confirm correct parameter error during hooking
+SCOPE: {
+ my $advice = before {
+ $_->return_value('wrapped');
+ } call 'main::with_proto';
+ is( main::with_proto('foo'), 'wrapped', 'With prototype' );
+
+ local $@;
+ eval 'main::with_proto(1, 2)';
+ like( $@, qr/Too many arguments/, 'prototypes are obeyed' );
+}
+
+# Confirm correct parameter error after hooking
+SCOPE: {
+ local $@;
+ eval 'main::with_proto(1, 2)';
+ like( $@, qr/Too many arguments/, 'prototypes are obeyed' );
+}
+
+
+
+
+
+######################################################################
+# Caller Correctness
+
+my @CALLER = ();
+my $BEFORE = 0;
+
+SCOPE: {
+ # Set up the Aspect
+ my $aspect = before { $BEFORE++ } call 'My::Three::bar';
+ isa_ok( $aspect, 'Aspect::Advice' );
+ isa_ok( $aspect, 'Aspect::Advice::Before' );
+ is( $BEFORE, 0, '$BEFORE is false' );
+ is( scalar(@CALLER), 0, '@CALLER is empty' );
+
+ # Call a method above the wrapped method
+ my $rv = My::Two->foo;
+ is( $rv, 'value', '->foo is ok' );
+ is( $BEFORE, 1, '$BEFORE is true' );
+ is( scalar(@CALLER), 2, '@CALLER is full' );
+ is( $CALLER[0]->[0], 'My::Two', 'First caller is My::Two' );
+ is( $CALLER[1]->[0], 'main', 'Second caller is main' );
+}
+
+SCOPE: {
+ package My::Two;
+
+ sub foo {
+ My::Three->bar;
}
- sub around_matched {
- $_ += 10;
- return "Topic is $_";
+ package My::Three;
+
+ sub bar {
+ @CALLER = (
+ [ caller(0) ],
+ [ caller(1) ],
+ );
+ return 'value';
}
-
- sub around_unmatched {
- $_ += 10;
- return "Topic is $_";
+}
+
+
+
+
+
+######################################################################
+# Wantarray Support
+
+my @CONTEXT = ();
+
+# Before the aspects
+SCOPE: {
+ () = Foo->before;
+ my $dummy = Foo->before;
+ Foo->before;
+}
+
+SCOPE: {
+ my $aspect = before {
+ if ( $_[0]->wantarray ) {
+ push @CONTEXT, 'ARRAY';
+ } elsif ( defined $_[0]->wantarray ) {
+ push @CONTEXT, 'SCALAR';
+ } else {
+ push @CONTEXT, 'VOID';
+ }
+ if ( wantarray ) {
+ push @CONTEXT, 'ARRAY';
+ } elsif ( defined wantarray ) {
+ push @CONTEXT, 'SCALAR';
+ } else {
+ push @CONTEXT, 'VOID';
+ }
+ } call 'Foo::before';
+
+ # During the aspects
+ () = Foo->before;
+ my $dummy = Foo->before;
+ Foo->before;
+}
+
+# After the aspects
+SCOPE: {
+ () = Foo->before;
+ my $dummy = Foo->before;
+ Foo->before;
+}
+
+# Check the results in aggregate
+is_deeply(
+ \@CONTEXT,
+ [ qw{
+ array
+ scalar
+ void
+ ARRAY VOID array
+ SCALAR VOID scalar
+ VOID VOID void
+ array
+ scalar
+ void
+ } ],
+ 'All wantarray contexts worked as expected for before',
+);
+
+SCOPE: {
+ package Foo;
+
+ sub before {
+ if ( wantarray ) {
+ push @CONTEXT, 'array';
+ } elsif ( defined wantarray ) {
+ push @CONTEXT, 'scalar';
+ } else {
+ push @CONTEXT, 'void';
+ }
}
-
- sub before_control {
- $_ += 100;
- return "Topic is $_";
- }
-
- sub before_matched {
- $_ += 100;
- return "Topic is $_";
- }
-
- sub before_unmatched {
- $_ += 100;
- return "Topic is $_";
- }
-
- sub after_control {
- $_ += 1000;
- return "Topic is $_";
- }
-
- sub after_matched {
- $_ += 1000;
- return "Topic is $_";
- }
-
- sub after_unmatched {
- $_ += 1000;
- return "Topic is $_";
- }
-}
-
-# Do the functions initially work
-$_ = 1;
-is( Bar::around_control(), 'Topic is 11', 'around_control ok' );
-is( Bar::before_control(), 'Topic is 111', 'before_control ok' );
-is( Bar::after_control(), 'Topic is 1111', 'after_control ok' );
-
-# Set up some null aspects over the matched functions
-around { $_->proceed } call 'Bar::around_matched';
-around { $_->proceed } call 'Bar::around_unmatched' & wantvoid;
-before { } call 'Bar::before_matched';
-before { } call 'Bar::before_unmatched' & wantvoid;
-after { } call 'Bar::after_matched';
-after { } call 'Bar::after_unmatched' & wantvoid;
-
-$_ = 2;
-is( Bar::around_matched(), 'Topic is 12', 'around_matched ok' );
-is( Bar::around_unmatched(), 'Topic is 22', 'around_unmatched ok' );
-is( Bar::before_matched(), 'Topic is 122', 'before_matched ok' );
-is( Bar::before_unmatched(), 'Topic is 222', 'before_unmatched ok' );
-is( Bar::after_matched(), 'Topic is 1222', 'after_matched ok' );
-is( Bar::after_unmatched(), 'Topic is 2222', 'after_unmatched ok' );
+}
+
+
+
+
+
+######################################################################
+# Support Classes
+
+package My::One;
+
+sub new {
+ $new++;
+ bless {}, shift;
+}
+
+sub foo {
+ $foo++;
+ return 'foo';
+}
+
+sub bar {
+ $bar++;
+ return shift->foo;
+}
+
+sub inc {
+ $inc++;
+ return $_[1] + 1;
+}
+
More information about the Pkg-perl-cvs-commits
mailing list