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