r20644 - in /trunk/libtest-deep-perl: CHANGES META.yml debian/changelog debian/compat debian/control lib/Test/Deep.pm lib/Test/Deep.pod t/isa.t

emhn-guest at users.alioth.debian.org emhn-guest at users.alioth.debian.org
Tue Jun 3 13:10:38 UTC 2008


Author: emhn-guest
Date: Tue Jun  3 13:10:38 2008
New Revision: 20644

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=20644
Log:
* Added versioned dependency on libtest-tester-perl.

Modified:
    trunk/libtest-deep-perl/CHANGES
    trunk/libtest-deep-perl/META.yml
    trunk/libtest-deep-perl/debian/changelog
    trunk/libtest-deep-perl/debian/compat
    trunk/libtest-deep-perl/debian/control
    trunk/libtest-deep-perl/lib/Test/Deep.pm
    trunk/libtest-deep-perl/lib/Test/Deep.pod
    trunk/libtest-deep-perl/t/isa.t

Modified: trunk/libtest-deep-perl/CHANGES
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/CHANGES?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/CHANGES (original)
+++ trunk/libtest-deep-perl/CHANGES Tue Jun  3 13:10:38 2008
@@ -1,3 +1,9 @@
+0.103
+
+Detect whether isa() is being called with 1 or 2 arguments and
+dispatch to the correct function. This is hacky but fixes the problem
+of clashing with UNIVERSAL::isa().
+
 0.102
 
 Behave well when a code comparator doesn't give diagnostics. Thanks to

Modified: trunk/libtest-deep-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/META.yml?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/META.yml (original)
+++ trunk/libtest-deep-perl/META.yml Tue Jun  3 13:10:38 2008
@@ -1,7 +1,7 @@
 # http://module-build.sourceforge.net/META-spec.html
 #XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
 name:         Test-Deep
-version:      0.102
+version:      0.103
 version_from: ./lib/Test/Deep.pm
 installdirs:  perl
 requires:

Modified: trunk/libtest-deep-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/debian/changelog?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/debian/changelog (original)
+++ trunk/libtest-deep-perl/debian/changelog Tue Jun  3 13:10:38 2008
@@ -1,12 +1,13 @@
-libtest-deep-perl (0.102-1) unstable; urgency=low
+libtest-deep-perl (0.103-1) UNRELEASED; urgency=low
 
   [ Ernesto Hernández-Novich (USB) ]
   * New upstream release.
+  * Added versioned dependency on libtest-tester-perl.
 
   [ gregor herrmann ]
   * debian/watch: extended regexp for matching upstream releases.
 
- -- Ernesto Hernández-Novich (USB) <emhn at usb.ve>  Sun,  1 Jun 2008 12:48:27 -0430
+ -- Ernesto Hernández-Novich (USB) <emhn at usb.ve>  Tue,  3 Jun 2008 08:33:29 -0430
 
 libtest-deep-perl (0.101-1) unstable; urgency=low
 

Modified: trunk/libtest-deep-perl/debian/compat
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/debian/compat?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/debian/compat (original)
+++ trunk/libtest-deep-perl/debian/compat Tue Jun  3 13:10:38 2008
@@ -1,1 +1,1 @@
-6
+5

Modified: trunk/libtest-deep-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/debian/control?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/debian/control (original)
+++ trunk/libtest-deep-perl/debian/control Tue Jun  3 13:10:38 2008
@@ -8,7 +8,8 @@
 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libtest-deep-perl/
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/
 Build-Depends: debhelper (>= 6)
-Build-Depends-Indep: perl, libtest-tester-perl, libtest-nowarnings-perl
+Build-Depends-Indep: perl,
+ libtest-tester-perl (>= 0.107), libtest-nowarnings-perl
 Standards-Version: 3.7.3
 
 Package: libtest-deep-perl

Modified: trunk/libtest-deep-perl/lib/Test/Deep.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/lib/Test/Deep.pm?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/lib/Test/Deep.pm (original)
+++ trunk/libtest-deep-perl/lib/Test/Deep.pm Tue Jun  3 13:10:38 2008
@@ -25,7 +25,7 @@
 	$Snobby $Expects $DNE $DNE_ADDR $Shallow
 );
 
-$VERSION = '0.102';
+$VERSION = '0.103';
 
 require Exporter;
 @ISA = qw( Exporter );
@@ -66,7 +66,7 @@
 	Shallow => "",
 	Any => "",
 	All => "",
-	Isa => "",
+	Isa => "Isa",
 	RegexpRefOnly => "",
 	RefType => "",
 	Blessed => "",
@@ -99,6 +99,25 @@
 	$count{$e}++;
 }
 
+# this is ugly, I should never have exported a sub called isa now I
+# have to try figure out if the recipient wanted my isa or if a class
+# imported us and UNIVERSAL::isa is being called on that class.
+# Luckily our isa always expects 1 argument and U::isa always expects
+# 2, so we can figure out (assuming the caller is no buggy).
+sub isa
+{
+	if (@_ == 1)
+	{
+		goto &Isa;
+	}
+	else
+	{
+		goto &UNIVERSAL::isa;
+	}
+}
+
+push(@EXPORT, "isa");
+
 sub cmp_deeply
 {
 	my ($d1, $d2, $name) = @_;

Modified: trunk/libtest-deep-perl/lib/Test/Deep.pod
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/lib/Test/Deep.pod?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/lib/Test/Deep.pod (original)
+++ trunk/libtest-deep-perl/lib/Test/Deep.pod Tue Jun  3 13:10:38 2008
@@ -648,12 +648,20 @@
 
 You can also use overloading with | similarly to all().
 
-=head3 isa($class)
+=head3 isa($class), Isa($class)
 
 $class is a class name.
 
 This uses UNIVERSAL::isa() to check that $got_v is blessed into the class
 $class.
+
+B<NOTE:> Isa() does exactly as documented here, isa() is slightly
+different. If isa() is called with 1 argument it falls through to
+Isa(). If isa() called with 2 arguments, it falls through to
+UNIVERAL::isa. This is to prevent breakage when you import isa() into
+a package that is used as a class. Without this, anyone calling
+C<Class-E<gt>isa($other_class)> would get the wrong answer. This is a
+hack to patch over the fact that isa is exported by default.
 
 =head3 array_each($thing)
 

Modified: trunk/libtest-deep-perl/t/isa.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtest-deep-perl/t/isa.t?rev=20644&op=diff
==============================================================================
--- trunk/libtest-deep-perl/t/isa.t (original)
+++ trunk/libtest-deep-perl/t/isa.t Tue Jun  3 13:10:38 2008
@@ -62,3 +62,14 @@
 		"isa eq"
 	);
 }
+
+package A;
+
+use Test::Deep;
+ at A::ISA = qw( Test::Deep );
+
+{
+	::ok(A->isa("Test::Deep"), "U::isa says yes");
+	::ok(! A->isa("Test"), "U::isa says yes");
+}
+




More information about the Pkg-perl-cvs-commits mailing list