r35059 - in /trunk/libexception-class-perl: Changes MANIFEST META.yml SIGNATURE debian/changelog debian/copyright lib/Exception/Class.pm lib/Exception/Class/ t/basic.t

ansgar-guest at users.alioth.debian.org ansgar-guest at users.alioth.debian.org
Sat May 9 00:01:16 UTC 2009


Author: ansgar-guest
Date: Sat May  9 00:00:55 2009
New Revision: 35059

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=35059
Log:
New upstream release.

Added:
    trunk/libexception-class-perl/lib/Exception/Class/
      - copied from r35058, branches/upstream/libexception-class-perl/current/lib/Exception/Class/
Modified:
    trunk/libexception-class-perl/Changes
    trunk/libexception-class-perl/MANIFEST
    trunk/libexception-class-perl/META.yml
    trunk/libexception-class-perl/SIGNATURE
    trunk/libexception-class-perl/debian/changelog
    trunk/libexception-class-perl/debian/copyright
    trunk/libexception-class-perl/lib/Exception/Class.pm
    trunk/libexception-class-perl/t/basic.t

Modified: trunk/libexception-class-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/Changes?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/Changes (original)
+++ trunk/libexception-class-perl/Changes Sat May  9 00:00:55 2009
@@ -1,3 +1,19 @@
+1.29 May 8, 2009
+
+- Make sure that there is only one line that the toolchain can pick up
+  when looking for this module's $VERSION.
+
+
+1.28 May 6, 2009
+
+* Removed Exception::Class::Base->do_trace and ->NoObjectRefs, both of
+  which have been undocumented for many years.
+
+- Moved Exception::Class::Base to its own file, so it doesn't
+  overwrite the $VERSION in Exception::Class (and for general
+  sanity). Reported by Kirk Baucom.
+
+
 1.27 May 4, 2009
 
 * The error message for an exception no longer defaults to $!. This

Modified: trunk/libexception-class-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/MANIFEST?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/MANIFEST (original)
+++ trunk/libexception-class-perl/MANIFEST Sat May  9 00:00:55 2009
@@ -2,6 +2,7 @@
 Build.PL
 Changes
 lib/Exception/Class.pm
+lib/Exception/Class/Base.pm
 LICENSE
 Makefile.PL
 MANIFEST			This list of files

Modified: trunk/libexception-class-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/META.yml?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/META.yml (original)
+++ trunk/libexception-class-perl/META.yml Sat May  9 00:00:55 2009
@@ -1,8 +1,8 @@
 ---
 name: Exception-Class
-version: 1.27
+version: 1.29
 author:
-  - 'Dave Rolsky, <autarch at urth.org>'
+  - 'Dave Rolsky, E<gt>autarch at urth.orgE<lt>'
 abstract: A module that allows you to declare real exception classes in Perl
 license: perl
 resources:
@@ -17,10 +17,10 @@
 provides:
   Exception::Class:
     file: lib/Exception/Class.pm
-    version: 1.27
+    version: 1.29
   Exception::Class::Base:
-    file: lib/Exception/Class.pm
-    version: 1.2
+    file: lib/Exception/Class/Base.pm
+    version: 1.20
 generated_by: Module::Build version 0.32
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.2.html

Modified: trunk/libexception-class-perl/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/SIGNATURE?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/SIGNATURE (original)
+++ trunk/libexception-class-perl/SIGNATURE Sat May  9 00:00:55 2009
@@ -16,13 +16,14 @@
 
 SHA1 5f0d8c63d57e17a4fd71f16253c4199459fbf78c .shipit
 SHA1 cddc6c2496a35c0fbc8be01e0026abdf01d81165 Build.PL
-SHA1 68859fceab4295913294dc2ff322c1d760cccb64 Changes
+SHA1 e40686366802fbe2ce894ba71bcd4d9e406db36a Changes
 SHA1 f235ba4160673bcb7c9d58c2f09dbc7fc0efadea LICENSE
-SHA1 e1326666ba4000b34cf057dbd3d807acb92ed2d9 MANIFEST
-SHA1 ec5197edc4993d7a5380c6480352e9ae9bb32836 META.yml
+SHA1 23c99bd3e732dcf46172dba3bdf9924073bba79e MANIFEST
+SHA1 1deb8fee646695e0cdf64bdeae384af671b83f14 META.yml
 SHA1 39708f6431bd5b45268b7728ee1f4e713b68a965 Makefile.PL
-SHA1 d59f1c0d24fcfb615dc6ce6359fd580a0f411964 lib/Exception/Class.pm
-SHA1 cec61865b88cb8e9ce8b9a5e930e85c44142dd2e t/basic.t
+SHA1 7ab0d98d16332249ee8e2fcfd25abc8738ed1651 lib/Exception/Class.pm
+SHA1 b1cb734e49381f006225771643f0004ad42eb133 lib/Exception/Class/Base.pm
+SHA1 cc15e4261598af96bc997c1ec7c56e6113a8e2a1 t/basic.t
 SHA1 58af03881eb473337b01aa4f07469e86d2090d8d t/caught.t
 SHA1 d6e425dcfb12707a1a33c0592641dbf5dd558370 t/ignore.t
 SHA1 9de9dfd55e96087b41493345c1bb756529661124 t/pod-coverage.t
@@ -30,7 +31,7 @@
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.9 (GNU/Linux)
 
-iEYEARECAAYFAkn/ZuYACgkQ3Or3ZzQuifMgXwCgmsRNV/NRM4mAWEDjbC52DQ54
-WIsAniuXPKEwuNqmsYMFwQnyaaJQdbHc
-=UuW2
+iEYEARECAAYFAkoC6N8ACgkQ3Or3ZzQuifN0HwCfVGMNvm103hPzVLlMI29DbpKx
+XcQAoNhSOR5xS4V8pae7UOvEwvaT914e
+=oxIN
 -----END PGP SIGNATURE-----

Modified: trunk/libexception-class-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/debian/changelog?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/debian/changelog (original)
+++ trunk/libexception-class-perl/debian/changelog Sat May  9 00:00:55 2009
@@ -1,10 +1,10 @@
-libexception-class-perl (1.27-1) unstable; urgency=low
+libexception-class-perl (1.29-1) unstable; urgency=low
 
   * New upstream release.
     + depends on perl (>= 5.8.1)
   * Bump Standards Version to 3.8.1 (no changes)
 
- -- Ansgar Burchardt <ansgar at 43-1.org>  Tue, 05 May 2009 22:38:56 +0200
+ -- Ansgar Burchardt <ansgar at 43-1.org>  Sat, 09 May 2009 02:00:23 +0200
 
 libexception-class-perl (1.26-2) unstable; urgency=low
 

Modified: trunk/libexception-class-perl/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/debian/copyright?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/debian/copyright (original)
+++ trunk/libexception-class-perl/debian/copyright Sat May  9 00:00:55 2009
@@ -5,7 +5,7 @@
 Upstream-Name: Exception-Class
 
 Files: *
-Copyright: 2000-2006, Dave Rolsky, <autarch at urth.org>
+Copyright: 2000-2009, Dave Rolsky, <autarch at urth.org>
 License-Alias: Perl
 License: Artistic | GPL-1+
 

Modified: trunk/libexception-class-perl/lib/Exception/Class.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/lib/Exception/Class.pm?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/lib/Exception/Class.pm (original)
+++ trunk/libexception-class-perl/lib/Exception/Class.pm Sat May  9 00:00:55 2009
@@ -4,12 +4,13 @@
 
 use strict;
 
+use Exception::Class::Base;
 use Scalar::Util qw(blessed);
 
 our $BASE_EXC_CLASS;
 BEGIN { $BASE_EXC_CLASS ||= 'Exception::Class::Base'; }
 
-our $VERSION = '1.27';
+our $VERSION = '1.29';
 
 our %CLASSES;
 
@@ -119,14 +120,14 @@
     }
     $isa ||= $BASE_EXC_CLASS;
 
+    my $version_name = 'VERSION';
+
     my $code = <<"EOPERL";
 package $subclass;
 
-use vars qw(\$VERSION);
-
 use base qw($isa);
 
-\$VERSION = '1.1';
+our \$$version_name = '1.1';
 
 1;
 
@@ -186,224 +187,6 @@
 }
 
 sub Classes { sort keys %Exception::Class::CLASSES }
-
-package Exception::Class::Base;
-
-use Class::Data::Inheritable;
-use Devel::StackTrace 1.20;
-
-use base qw(Class::Data::Inheritable);
-
-BEGIN
-{
-    __PACKAGE__->mk_classdata('Trace');
-    *do_trace = \&Trace;
-    __PACKAGE__->mk_classdata('NoRefs');
-    *NoObjectRefs = \&NoRefs;
-    __PACKAGE__->NoRefs(1);
-
-    __PACKAGE__->mk_classdata('RespectOverload');
-    __PACKAGE__->RespectOverload(0);
-
-    __PACKAGE__->mk_classdata('MaxArgLength');
-    __PACKAGE__->MaxArgLength(0);
-
-    sub Fields { () }
-}
-
-use overload
-    # an exception is always true
-    bool => sub { 1 },
-    '""' => 'as_string',
-    fallback => 1;
-
-use vars qw($VERSION);
-
-$VERSION = '1.2';
-
-# Create accessor routines
-BEGIN
-{
-    my @fields = qw( message pid uid euid gid egid time trace );
-
-    foreach my $f (@fields)
-    {
-        my $sub = sub { my $s = shift; return $s->{$f}; };
-
-        no strict 'refs';
-        *{$f} = $sub;
-    }
-    *error = \&message;
-
-    my %trace_fields =
-        ( package => 'package',
-          file    => 'filename',
-          line    => 'line',
-        );
-
-    while ( my ( $f, $m ) = each %trace_fields )
-    {
-        my $sub = sub
-        {
-            my $s = shift;
-            return $s->{$f} if exists $s->{$f};
-
-            my $frame = $s->trace->frame(0);
-
-            return $s->{$f} = $frame ? $frame->$m() : undef;
-        };
-        no strict 'refs';
-        *{$f} = $sub;
-    }
-}
-
-1;
-
-sub Classes { Exception::Class::Classes() }
-
-sub throw
-{
-    my $proto = shift;
-
-    $proto->rethrow if ref $proto;
-
-    die $proto->new(@_);
-}
-
-sub rethrow
-{
-    my $self = shift;
-
-    die $self;
-}
-
-sub new
-{
-    my $proto = shift;
-    my $class = ref $proto || $proto;
-
-    my $self = bless {}, $class;
-
-    $self->_initialize(@_);
-
-    return $self;
-}
-
-sub _initialize
-{
-    my $self = shift;
-    my %p = @_ == 1 ? ( error => $_[0] ) : @_;
-
-    $self->{message} = $p{message} || $p{error} || '';
-
-    $self->{show_trace} = $p{show_trace} if exists $p{show_trace};
-
-    # CORE::time is important to fix an error with some versions of
-    # Perl
-    $self->{time} = CORE::time();
-    $self->{pid}  = $$;
-    $self->{uid}  = $<;
-    $self->{euid} = $>;
-    $self->{gid}  = $(;
-    $self->{egid} = $);
-
-    my @ignore_class   = (__PACKAGE__);
-    my @ignore_package = 'Exception::Class';
-
-    if ( my $i = delete $p{ignore_class} )
-    {
-        push @ignore_class, ( ref($i) eq 'ARRAY' ? @$i : $i );
-    }
-
-    if ( my $i = delete $p{ignore_package} )
-    {
-        push @ignore_package, ( ref($i) eq 'ARRAY' ? @$i : $i );
-    }
-
-    $self->{trace} =
-        Devel::StackTrace->new( ignore_class     => \@ignore_class,
-                                ignore_package   => \@ignore_package,
-                                no_refs          => $self->NoRefs,
-                                respect_overload => $self->RespectOverload,
-                                max_arg_length   => $self->MaxArgLength,
-                              );
-
-    my %fields = map { $_ => 1 } $self->Fields;
-    while ( my ($key, $value) = each %p )
-    {
-       next if $key =~ /^(?:error|message|show_trace)$/;
-
-       if ( $fields{$key})
-       {
-           $self->{$key} = $value;
-       }
-       else
-       {
-           Exception::Class::Base->throw
-               ( error =>
-                 "unknown field $key passed to constructor for class " . ref $self );
-       }
-    }
-}
-
-sub description
-{
-    return 'Generic exception';
-}
-
-sub show_trace
-{
-    my $self = shift;
-
-    if (@_)
-    {
-        $self->{show_trace} = shift;
-    }
-
-    return exists $self->{show_trace} ? $self->{show_trace} : $self->Trace;
-}
-
-sub as_string
-{
-    my $self = shift;
-
-    my $str = $self->full_message;
-    $str .= "\n\n" . $self->trace->as_string
-        if $self->show_trace;
-
-    return $str;
-}
-
-sub full_message { $_[0]->{message} }
-
-#
-# The %seen bit protects against circular inheritance.
-#
-eval <<'EOF' if $] == 5.006;
-sub isa
-{
-    my ($inheritor, $base) = @_;
-    $inheritor = ref($inheritor) if ref($inheritor);
-
-    my %seen;
-
-    no strict 'refs';
-    my @parents = ($inheritor, @{"$inheritor\::ISA"});
-    while (my $class = shift @parents)
-    {
-        return 1 if $class eq $base;
-
-        push @parents, grep {!$seen{$_}++} @{"$class\::ISA"};
-    }
-    return 0;
-}
-EOF
-
-sub caught
-{
-    return Exception::Class->caught(shift);
-}
-
 
 1;
 
@@ -465,7 +248,7 @@
 
 It features a simple interface allowing programmers to 'declare'
 exception classes at compile time.  It also has a base exception
-class, Exception::Class::Base, that can be easily extended.
+class, L<Exception::Class::Base>, that can be easily extended.
 
 It is designed to make structured exception handling simpler and
 better by encouraging people to use hierarchies of exceptions in their
@@ -475,10 +258,14 @@
 "OTHER EXCEPTION MODULES (try/catch syntax)" section for more
 information on how to get this syntax.
 
+You will also want to look at the documentation for
+L<Exception::Class::Base>, which is the default base class for all
+exception objects created by this module.
+
 =head1 DECLARING EXCEPTION CLASSES
 
 Importing C<Exception::Class> allows you to automagically create
-C<Exception::Class::Base> subclasses.  You can also create subclasses
+L<Exception::Class::Base> subclasses.  You can also create subclasses
 via the traditional means of defining your own subclass with C<@ISA>.
 These two methods may be easily combined, so that you could subclass
 an exception class defined via the automagic import, if you desired
@@ -499,7 +286,7 @@
 the parent (see below).
 
 This parameter lets you create arbitrarily deep class hierarchies.
-This can be any other C<Exception::Class::Base> subclass in your
+This can be any other L<Exception::Class::Base> subclass in your
 declaration I<or> a subclass loaded from a module.
 
 To change the default exception class you will need to change the
@@ -512,7 +299,7 @@
 know.
 
 CAVEAT: If you want to automagically subclass an
-C<Exception::Class::Base> subclass loaded from a file, then you
+L<Exception::Class::Base> subclass loaded from a file, then you
 I<must> compile the class (via use or require or some other magic)
 I<before> you import C<Exception::Class> or you'll get a compile time
 error.
@@ -606,236 +393,6 @@
 Of course, this only works if you always call 
 C<< Exception::Class->caught() >> after an C<eval>.
 
-=head1 Exception::Class::Base CLASS METHODS
-
-=over 4
-
-=item * Trace($boolean)
-
-Each C<Exception::Class::Base> subclass can be set individually to
-include a a stracktrace when the C<as_string> method is called.  The
-default is to not include a stacktrace.  Calling this method with a
-value changes this behavior.  It always returns the current value
-(after any change is applied).
-
-This value is inherited by any subclasses.  However, if this value is
-set for a subclass, it will thereafter be independent of the value in
-C<Exception::Class::Base>.
-
-This is a class method, not an object method.
-
-=item * NoRefs($boolean)
-
-When a C<Devel::StackTrace> object is created, it walks through the
-stack and stores the arguments which were passed to each subroutine on
-the stack.  If any of these arguments are references, then that means
-that the C<Devel::StackTrace> ends up increasing the refcount of these
-references, delaying their destruction.
-
-Since C<Exception::Class::Base> uses C<Devel::StackTrace> internally,
-this method provides a way to tell C<Devel::StackTrace> not to store
-these references.  Instead, C<Devel::StackTrace> replaces references
-with their stringified representation.
-
-This method defaults to true.  As with C<Trace()>, it is inherited by
-subclasses but setting it in a subclass makes it independent
-thereafter.
-
-=item * RespectOverload($boolean)
-
-When a C<Devel::StackTrace> object stringifies, by default it ignores
-stringification overloading on any objects being dealt with.
-
-Since C<Exception::Class::Base> uses C<Devel::StackTrace> internally,
-this method provides a way to tell C<Devel::StackTrace> to respect
-overloading.
-
-This method defaults to false.  As with C<Trace()>, it is inherited by
-subclasses but setting it in a subclass makes it independent
-thereafter.
-
-=item * MaxArgLength($boolean)
-
-When a C<Devel::StackTrace> object stringifies, by default it displays
-the full argument for each function. This parameter can be used to
-limit the maximum length of each argument.
-
-Since C<Exception::Class::Base> uses C<Devel::StackTrace> internally,
-this method provides a way to tell C<Devel::StackTrace> to limit the
-length of arguments.
-
-This method defaults to 0. As with C<Trace()>, it is inherited by
-subclasses but setting it in a subclass makes it independent
-thereafter.
-
-=item * Fields
-
-This method returns the extra fields defined for the given class, as
-an array.
-
-=item * throw( $message )
-
-=item * throw( message => $message )
-
-=item * throw( error => $error )
-
-This method creates a new object with the given error message.  If no
-error message is given, this will be an empty string.  It then die's
-with this object as its argument.
-
-This method also takes a C<show_trace> parameter which indicates
-whether or not the particular exception object being created should
-show a stacktrace when its C<as_string()> method is called.  This
-overrides the value of C<Trace()> for this class if it is given.
-
-The frames included in the trace can be controlled by the C<ignore_class>
-and C<ignore_package> parameters. These are passed directly to
-Devel::Stacktrace's constructor. See C<Devel::Stacktrace> for more details.
-
-If only a single value is given to the constructor it is assumed to be
-the message parameter.
-
-Additional keys corresponding to the fields defined for the particular
-exception subclass will also be accepted.
-
-=item * new
-
-This method takes the same parameters as C<throw()>, but instead of
-dying simply returns a new exception object.
-
-This method is always called when constructing a new exception object
-via the C<throw()> method.
-
-=item * description
-
-Returns the description for the given C<Exception::Class::Base>
-subclass.  The C<Exception::Class::Base> class's description is
-"Generic exception" (this may change in the future).  This is also an
-object method.
-
-=back
-
-=head1 Exception::Class::Base OBJECT METHODS
-
-=over 4
-
-=item * rethrow
-
-Simply dies with the object as its sole argument.  It's just syntactic
-sugar.  This does not change any of the object's attribute values.
-However, it will cause C<caller()> to report the die as coming from
-within the C<Exception::Class::Base> class rather than where rethrow
-was called.
-
-Of course, you always have access to the original stacktrace for the
-exception object.
-
-=item * message
-
-=item * error
-
-Returns the error/message associated with the exception.
-
-=item * pid
-
-Returns the pid at the time the exception was thrown.
-
-=item * uid
-
-Returns the real user id at the time the exception was thrown.
-
-=item * gid
-
-Returns the real group id at the time the exception was thrown.
-
-=item * euid
-
-Returns the effective user id at the time the exception was thrown.
-
-=item * egid
-
-Returns the effective group id at the time the exception was thrown.
-
-=item * time
-
-Returns the time in seconds since the epoch at the time the exception
-was thrown.
-
-=item * package
-
-Returns the package from which the exception was thrown.
-
-=item * file
-
-Returns the file within which the exception was thrown.
-
-=item * line
-
-Returns the line where the exception was thrown.
-
-=item * trace
-
-Returns the trace object associated with the object.
-
-=item * show_trace($boolean)
-
-This method can be used to set whether or not a strack trace is
-included when the as_string method is called or the object is
-stringified.
-
-=item * as_string
-
-Returns a string form of the error message (something like what you'd
-expect from die).  If the class or object is set to show traces then
-then the full trace is also included.  The result looks like
-C<Carp::confess()>.
-
-=item * full_message
-
-Called by the C<as_string()> method to get the message.  By default,
-this is the same as calling the C<message()> method, but may be
-overridden by a subclass.  See below for details.
-
-=back
-
-=head1 OVERLOADING
-
-The C<Exception::Class::Base> object is overloaded so that
-stringification produces a normal error message.  It just calls the
-as_string method described above.  This means that you can just
-C<print $@> after an C<eval> and not worry about whether or not its an
-actual object.  It also means an application or module could do this:
-
- $SIG{__DIE__} = sub { Exception::Class::Base->throw( error => join '', @_ ); };
-
-and this would probably not break anything (unless someone was
-expecting a different type of exception object from C<die()>).
-
-=head1 OVERRIDING THE as_string METHOD
-
-By default, the C<as_string()> method simply returns the value
-C<message> or C<error> param plus a stack trace, if the class's
-C<Trace()> method returns a true value or C<show_trace> was set when
-creating the exception.
-
-However, once you add new fields to a subclass, you may want to
-include those fields in the stringified error.
-
-Inside the C<as_string()> method, the message (non-stack trace)
-portion of the error is generated by calling the C<full_message()>
-method.  This can be easily overridden.  For example:
-
-  sub full_message
-  {
-      my $self = shift;
-
-      my $msg = $self->message;
-
-      $msg .= " and foo was " . $self->foo;
-
-      return $msg;
-  }
-
 =head1 USAGE RECOMMENDATION
 
 If you're creating a complex system that throws lots of different
@@ -866,14 +423,14 @@
                          ... );
 
 You may want to create a real module to subclass
-C<Exception::Class::Base> as well, particularly if you want your
+L<Exception::Class::Base> as well, particularly if you want your
 exceptions to have more methods.
 
 =head2 Subclassing Exception::Class::Base
 
 As part of your usage of C<Exception::Class>, you may want to create
 your own base exception class which subclasses
-C<Exception::Class::Base>.  You should feel free to subclass any of
+L<Exception::Class::Base>.  You should feel free to subclass any of
 the methods documented above.  For example, you may want to subclass
 C<new()> to add additional information to your exception objects.
 
@@ -895,7 +452,7 @@
 module, which implements this syntax.  It also includes its own base
 exception class, C<Error::Simple>.
 
-If you would prefer to use the C<Exception::Class::Base> class
+If you would prefer to use the L<Exception::Class::Base> class
 included with this module, you'll have to add this to your code
 somewhere:
 
@@ -933,11 +490,11 @@
 
 =head1 AUTHOR
 
-Dave Rolsky, <autarch at urth.org>
+Dave Rolsky, E<gt>autarch at urth.orgE<lt>
 
 =head1 COPYRIGHT
 
-Copyright (c) 2000-2006 David Rolsky.  All rights reserved.  This
+Copyright (c) 2000-2009 David Rolsky.  All rights reserved.  This
 program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.
 

Modified: trunk/libexception-class-perl/t/basic.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libexception-class-perl/t/basic.t?rev=35059&op=diff
==============================================================================
--- trunk/libexception-class-perl/t/basic.t (original)
+++ trunk/libexception-class-perl/t/basic.t Sat May  9 00:00:55 2009
@@ -4,7 +4,7 @@
 
 use File::Spec;
 
-use Test::More tests => 58;
+use Test::More tests => 56;
 
 use_ok('Exception::Class');
 
@@ -16,14 +16,8 @@
 {
     package FooException;
 
-    use vars qw[$VERSION];
-
     use Exception::Class;
     use base qw(Exception::Class::Base);
-
-    $VERSION = 0.01;
-
-    1;
 }
 
 use Exception::Class
@@ -55,7 +49,7 @@
 
 $^W = 1;
 
-# 2-14: Accessors
+# Accessors
 {
     eval { Exception::Class::Base->throw( error => 'err' ); };
 
@@ -77,8 +71,8 @@
     is( $@->file, $expect,
         "File should be '$expect'" );
 
-    is( $@->line, 60,
-        "Line should be 60" );
+    is( $@->line, 54,
+        "Line should be 54" );
 
     is( $@->pid, $$,
         "PID should be $$" );
@@ -99,7 +93,7 @@
         "Exception object should have a stacktrace" );
 }
 
-# 15-23 : Test subclass creation
+# Test subclass creation
 {
     eval { TestException->throw( error => 'err' ); };
 
@@ -131,7 +125,7 @@
 }
 
 
-# 24-29 : Trace related tests
+# Trace related tests
 {
     ok( ! Exception::Class::Base->Trace,
         "Exception::Class::Base class 'Trace' method should return false" );
@@ -162,7 +156,7 @@
         "Trace should contain frames from Exception::Class::Base package" );
 }
 
-# 29-30 : overloading
+# overloading
 {
     Exception::Class::Base->Trace(0);
     eval { Exception::Class::Base->throw( error => 'overloaded' ); };
@@ -185,7 +179,7 @@
     }
 }
 
-# 32-33 - Test using message as hash key to constructor
+# Test using message as hash key to constructor
 {
     eval { Exception::Class::Base->throw( message => 'err' ); };
 
@@ -196,7 +190,6 @@
         "Exception's message should be 'err'" );
 }
 
-# 34
 {
     {
 	package X::Y;
@@ -212,7 +205,7 @@
         "Error message should be 'dead'" );
 }
 
-# 35 - subclass overriding as_string
+# subclass overriding as_string
 
 sub Exc::AsString::as_string { return uc $_[0]->error }
 
@@ -223,7 +216,7 @@
         "Overriding as_string in subclass" );
 }
 
-# 36-37 - fields
+# fields
 
 {
     eval { FieldsException->throw( error => 'error', foo => 5 ) };
@@ -234,7 +227,7 @@
         "Exception's foo method should return 5" );
 }
 
-# 38-41 - more fields.
+# more fields.
 {
     eval { MoreFieldsException->throw( error => 'error', yip => 10, foo => 15 ) };
 
@@ -254,7 +247,7 @@
     return join ' ', $_[0]->message, "foo = " . $_[0]->foo;
 }
 
-# 42 - fields + full_message
+# fields + full_message
 
 {
     eval { FieldsException->throw (error => 'error', foo => 5) };
@@ -263,16 +256,7 @@
           "FieldsException should stringify to include the value of foo" );
 }
 
-# 43 - truth
-{
-    Bool->do_trace(0);
-    eval { Bool->throw( something => [ 1, 2, 3 ] ) };
-
-    ok( $@,
-        "All exceptions should evaluate to true in a boolean context" );
-}
-
-# 44 - single arg constructor
+# single arg constructor
 {
     eval { YAE->throw( 'foo' ) };
 
@@ -283,7 +267,7 @@
         "Single arg constructor should just set error/message" );
 }
 
-# 45 - no refs
+# no refs
 {
     ObjectRefs2->NoRefs(0);
 
@@ -296,20 +280,7 @@
         "References should be saved in the stack trace" );
 }
 
-# 46 - no object refs (deprecated)
-{
-    ObjectRefs->NoObjectRefs(0);
-
-    eval { Foo->new->bork };
-    my $exc = $@;
-
-    my @args = ($exc->trace->frames)[1]->args;
-
-    ok( ref $args[0],
-        "References should be saved in the stack trace" );
-}
-
-# 47-53 - aliases
+# aliases
 {
     package FooBar;
 




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