]> git.vpit.fr Git - perl/modules/Test-Leaner.git/blobdiff - lib/Test/Leaner.pm
Replace $] by "$]"
[perl/modules/Test-Leaner.git] / lib / Test / Leaner.pm
index 8e45f3c8bfe9d4a24266ffeea5b68c78d5263eac..54550e0cc155ded17cb171fdb8b25629740874ca 100644 (file)
@@ -10,11 +10,11 @@ Test::Leaner - A slimmer Test::More for when you favor performance over complete
 
 =head1 VERSION
 
-Version 0.02
+Version 0.03
 
 =cut
 
-our $VERSION = '0.02';
+our $VERSION = '0.03';
 
 =head1 SYNOPSIS
 
@@ -82,7 +82,7 @@ my $main_process;
 BEGIN {
  $main_process = $$;
 
- if ($] >= 5.008 and $INC{'threads.pm'}) {
+ if ("$]" >= 5.008 and $INC{'threads.pm'}) {
   my $use_ithreads = do {
    require Config;
    no warnings 'once';
@@ -182,18 +182,27 @@ if ($ENV{PERL_TEST_LEANER_USES_TEST_MORE}) {
  }
 
  my $import = sub {
-  shift;
+  my $class = shift;
 
   my @imports = &_handle_import_args;
-  @imports    = @EXPORT unless @imports;
+  if (@imports == grep /^!/, @imports) {
+   # All imports are negated, or @imports is empty
+   my %negated;
+   /^!(.*)/ and ++$negated{$1} for @imports;
+   push @imports, grep !$negated{$_}, @EXPORT;
+  }
+
   my @test_more_imports;
   for (@imports) {
    if ($stubbed{$_}) {
     my $pkg = caller;
     no strict 'refs';
     *{$pkg."::$_"} = $leaner_stash->{$_};
-   } else {
+   } elsif (/^!/ or !exists $more_stash->{$_} or exists $leaner_stash->{$_}) {
     push @test_more_imports, $_;
+   } else {
+    # Croak for symbols in Test::More but not in Test::Leaner
+    Exporter::import($class, $_);
    }
   }
 
@@ -486,7 +495,7 @@ my %binops = (
  'and' => 'and',
 
  '||'  => 'hor',
- ('//' => 'dor') x ($] >= 5.010),
+ ('//' => 'dor') x ("$]" >= 5.010),
  '&&'  => 'hand',
 
  '|'   => 'bor',
@@ -511,7 +520,7 @@ my %binops = (
 
  '=~'  => 'like',
  '!~'  => 'unlike',
- ('~~' => 'smartmatch') x ($] >= 5.010),
+ ('~~' => 'smartmatch') x ("$]" >= 5.010),
 
  '+'   => 'add',
  '-'   => 'substract',
@@ -877,6 +886,12 @@ Copyright 2010,2011 Vincent Pit, all rights reserved.
 
 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
 
+Except for the fallback implementation of the internal C<_reftype> function, which has been taken from L<Scalar::Util> and is
+
+Copyright 1997-2007 Graham Barr, all rights reserved.
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
 =cut
 
 1; # End of Test::Leaner