r47886 - in /branches/upstream/libperl-minimumversion-perl/current: Changes MANIFEST META.yml Makefile.PL lib/Perl/MinimumVersion.pm t/03_open_3arg.t t/04_substr.t t/07_splice.t t/08_mkdir.t
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Sat Nov 28 23:05:45 UTC 2009
Author: jawnsy-guest
Date: Sat Nov 28 23:05:15 2009
New Revision: 47886
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=47886
Log:
[svn-upgrade] Integrating new upstream version, libperl-minimumversion-perl (1.22)
Added:
branches/upstream/libperl-minimumversion-perl/current/t/07_splice.t
branches/upstream/libperl-minimumversion-perl/current/t/08_mkdir.t
Modified:
branches/upstream/libperl-minimumversion-perl/current/Changes
branches/upstream/libperl-minimumversion-perl/current/MANIFEST
branches/upstream/libperl-minimumversion-perl/current/META.yml
branches/upstream/libperl-minimumversion-perl/current/Makefile.PL
branches/upstream/libperl-minimumversion-perl/current/lib/Perl/MinimumVersion.pm
branches/upstream/libperl-minimumversion-perl/current/t/03_open_3arg.t
branches/upstream/libperl-minimumversion-perl/current/t/04_substr.t
Modified: branches/upstream/libperl-minimumversion-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/Changes?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/Changes (original)
+++ branches/upstream/libperl-minimumversion-perl/current/Changes Sat Nov 28 23:05:15 2009
@@ -1,10 +1,15 @@
Revision history for Perl extension Perl-MinimumVersion
+
+1.22 Wed 25 Nov 2009
+ - Negative length in 'splice' requires perl 5.5 (Alexandr Ciornii)
+ - 'mkdir' with one argument requires perl 5.6 (Alexandr Ciornii)
+ - 'substr' will not be checked if it is a method name (Alexandr Ciornii)
+ - better tests and fix for 3-arg 'open' (Alexandr Ciornii)
1.21 Tue 24 Nov 2009
- Add 'bytes' to 5.6 pragma (Alexandr Ciornii)
- Add support for "version numbers" like "v1.1.1" (Alexandr Ciornii)
- - Steal argument counting code from Perl::Critic,
- reimplement _three_argument_open, more tests (Alexandr Ciornii)
+ - Reimplement _three_argument_open, more tests (Alexandr Ciornii)
Now check for 3-arg open is working.
- Check 4-arg substr that requires perl 5.5 (Alexandr Ciornii)
- Postfix foreach requires perl 5.004.05 (Alexandr Ciornii)
Modified: branches/upstream/libperl-minimumversion-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/MANIFEST?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/MANIFEST (original)
+++ branches/upstream/libperl-minimumversion-perl/current/MANIFEST Sat Nov 28 23:05:15 2009
@@ -22,6 +22,8 @@
t/04_substr.t
t/05_foreach.t
t/06_weaken.t
+t/07_splice.t
+t/08_mkdir.t
t/97_meta.t
t/98_pod.t
t/99_pmv.t
Modified: branches/upstream/libperl-minimumversion-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/META.yml?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/META.yml (original)
+++ branches/upstream/libperl-minimumversion-perl/current/META.yml Sat Nov 28 23:05:15 2009
@@ -25,7 +25,7 @@
File::Find::Rule: 0.30
File::Find::Rule::Perl: 1.04
List::Util: 1.18
- PPI: 1.201
+ PPI: 1.205
Params::Util: 0.25
Perl::Critic::Utils: 1.104
perl: 5.005
@@ -34,4 +34,4 @@
ChangeLog: http://fisheye2.atlassian.com/changelog/cpan/trunk/Perl-MinimumVersion
license: http://dev.perl.org/licenses/
repository: http://svn.ali.as/cpan/trunk/Perl-MinimumVersion
-version: 1.21
+version: 1.22
Modified: branches/upstream/libperl-minimumversion-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/Makefile.PL?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/Makefile.PL (original)
+++ branches/upstream/libperl-minimumversion-perl/current/Makefile.PL Sat Nov 28 23:05:15 2009
@@ -9,7 +9,7 @@
requires 'Params::Util' => '0.25';
requires 'File::Find::Rule' => '0.30';
requires 'File::Find::Rule::Perl' => '1.04';
-requires 'PPI' => '1.201';
+requires 'PPI' => '1.205';
requires 'Perl::Critic::Utils' => '1.104';
test_requires 'File::Spec' => '0.80';
test_requires 'Test::More' => '0.47';
Modified: branches/upstream/libperl-minimumversion-perl/current/lib/Perl/MinimumVersion.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/lib/Perl/MinimumVersion.pm?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/lib/Perl/MinimumVersion.pm (original)
+++ branches/upstream/libperl-minimumversion-perl/current/lib/Perl/MinimumVersion.pm Sat Nov 28 23:05:15 2009
@@ -47,7 +47,7 @@
use vars qw{$VERSION @ISA @EXPORT_OK %CHECKS %MATCHES};
BEGIN {
- $VERSION = '1.21';
+ $VERSION = '1.22';
# Export the PMV convenience constant
@ISA = 'Exporter';
@@ -80,6 +80,7 @@
_any_CHECK_blocks => version->new('5.006'),
_three_argument_open => version->new('5.006'),
_weaken => version->new('5.006'),
+ _mkdir_1_arg => version->new('5.006'),
_any_qr_tokens => version->new('5.005.03'),
_perl_5005_pragmas => version->new('5.005'),
@@ -88,6 +89,7 @@
_any_quotelike_regexp => version->new('5.005'),
_any_INIT_blocks => version->new('5.005'),
_substr_4_arg => version->new('5.005'),
+ _splice_negative_length => version->new('5.005'),
_postfix_foreach => version->new('5.004.05'),
);
@@ -685,7 +687,7 @@
shift->Document->find_any( sub {
$_[1]->isa('PPI::Statement') or return '';
my @children=$_[1]->children;
- @children >= 7 or return '';
+ #@children >= 7 or return '';
my $main_element=$children[0];
$main_element->isa('PPI::Token::Word') or return '';
$main_element->content eq 'open' or return '';
@@ -704,12 +706,66 @@
my $main_element=$_[1];
$main_element->isa('PPI::Token::Word') or return '';
$main_element->content eq 'substr' or return '';
+ return '' if is_hash_key($main_element);
+ return '' if is_method_call($main_element);
+ return '' if is_subroutine_name($main_element);
+ return '' if is_included_module_name($main_element);
+ return '' if is_package_declaration($main_element);
my @arguments = parse_arg_list($main_element);
if ( scalar @arguments > 3 ) {
return 1;
}
return '';
} );
+}
+
+sub _mkdir_1_arg {
+ shift->Document->find_any( sub {
+ my $main_element=$_[1];
+ $main_element->isa('PPI::Token::Word') or return '';
+ $main_element->content eq 'mkdir' or return '';
+ return '' if is_hash_key($main_element);
+ return '' if is_method_call($main_element);
+ return '' if is_subroutine_name($main_element);
+ return '' if is_included_module_name($main_element);
+ return '' if is_package_declaration($main_element);
+ my @arguments = parse_arg_list($main_element);
+ if ( scalar @arguments != 2 ) {
+ return 1;
+ }
+ return '';
+ } );
+}
+
+sub _splice_negative_length {
+ shift->Document->find_any( sub {
+ my $main_element=$_[1];
+ $main_element->isa('PPI::Token::Word') or return '';
+ $main_element->content eq 'splice' or return '';
+ return '' if is_hash_key($main_element);
+ return '' if is_method_call($main_element);
+ return '' if is_subroutine_name($main_element);
+ return '' if is_included_module_name($main_element);
+ return '' if is_package_declaration($main_element);
+
+ my @arguments = parse_arg_list($main_element);
+ if ( scalar @arguments < 3 ) {
+ return '';
+ }
+ my $arg=$arguments[2];
+ if (ref($arg) eq 'ARRAY') {
+ $arg=$arg->[0];
+ }
+ if ($arg->isa('PPI::Token::Number')) {
+ if ($arg->literal<0) {
+ return 1;
+ } else {
+ return '';
+ }
+ }
+ return '';
+ } );
+
}
sub _postfix_foreach {
Modified: branches/upstream/libperl-minimumversion-perl/current/t/03_open_3arg.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/t/03_open_3arg.t?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/t/03_open_3arg.t (original)
+++ branches/upstream/libperl-minimumversion-perl/current/t/03_open_3arg.t Sat Nov 28 23:05:15 2009
@@ -17,20 +17,22 @@
q{open INFO, "< datafile" or die;},
q{open(INFO, "datafile") || die("can't open datafile: $!");},
q{open my $fh, ">$output";},
-
+ q/if(open my $fh, $output) {}/,
);
my @examples_3arg=(
q{open A,'<','test.txt';},
q{open( INFO, ">", $datafile ) || die "Can't create $datafile: $!";},
+ q{open( INFO, ">", $datafile )},
q{open my $fh, '>', $output;},
+ q/if(open my $fh, '>', $output) {}/,
q{open my $fh, '|-', 'test','arg1';},
);
plan tests =>(@examples_3arg+ at examples_not3arg);
foreach my $example (@examples_not3arg) {
my $p = Perl::MinimumVersion->new(\$example);
- is($p->_three_argument_open,'');
+ is($p->_three_argument_open,'',$example);
}
foreach my $example (@examples_3arg) {
my $p = Perl::MinimumVersion->new(\$example);
- is($p->_three_argument_open,1);
+ is($p->_three_argument_open,1,$example);
}
Modified: branches/upstream/libperl-minimumversion-perl/current/t/04_substr.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/t/04_substr.t?rev=47886&op=diff
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/t/04_substr.t (original)
+++ branches/upstream/libperl-minimumversion-perl/current/t/04_substr.t Sat Nov 28 23:05:15 2009
@@ -14,11 +14,12 @@
q{substr 'asdf',1,1 or print 2,2;},
q{substr('asdf',1,1);},
q{my $a=substr('asdf',1,1);},
+ q{$a->substr('asdf',1,1,'aa');},
);
my @examples_yes=(
q{substr('asdf',1,1,'tt');},
q{my $a=substr('asdf',1,1,'aa');},
- q{if(substr('asdf',1,1,'aa')) {}},
+ q/if(substr('asdf',1,1,'aa')) {}/,
);
plan tests =>(@examples_yes+ at examples_not);
foreach my $example (@examples_not) {
Added: branches/upstream/libperl-minimumversion-perl/current/t/07_splice.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/t/07_splice.t?rev=47886&op=file
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/t/07_splice.t (added)
+++ branches/upstream/libperl-minimumversion-perl/current/t/07_splice.t Sat Nov 28 23:05:15 2009
@@ -1,0 +1,34 @@
+#!/usr/bin/perl -w
+
+use strict;
+BEGIN {
+ $| = 1;
+ $^W = 1;
+}
+
+use Test::More;
+
+#use version;
+use Perl::MinimumVersion;
+my @examples_not=(
+ q{splice(@a,1);},
+ q{splice @a,1;},
+ q{splice @a,1,1;},
+ q{splice @a,1,1, at b;},
+ q{splice @a,1 or die -1,1;},
+ q{$test->splice(@a,1,-1, at b);},
+);
+my @examples_yes=(
+ q{splice @a,1,-1;},
+ q{splice(@a,1,-1);},
+ q{$c=splice(@a,1,-1);},
+);
+plan tests =>(@examples_not+ at examples_yes);
+foreach my $example (@examples_not) {
+ my $p = Perl::MinimumVersion->new(\$example);
+ is($p->_splice_negative_length,'',$example) or do {diag "\$\@: $@" if $@};
+}
+foreach my $example (@examples_yes) {
+ my $p = Perl::MinimumVersion->new(\$example);
+ is($p->_splice_negative_length,1,$example) or do {diag "\$\@: $@" if $@};
+}
Added: branches/upstream/libperl-minimumversion-perl/current/t/08_mkdir.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libperl-minimumversion-perl/current/t/08_mkdir.t?rev=47886&op=file
==============================================================================
--- branches/upstream/libperl-minimumversion-perl/current/t/08_mkdir.t (added)
+++ branches/upstream/libperl-minimumversion-perl/current/t/08_mkdir.t Sat Nov 28 23:05:15 2009
@@ -1,0 +1,32 @@
+#!/usr/bin/perl -w
+
+use strict;
+BEGIN {
+ $| = 1;
+ $^W = 1;
+}
+
+use Test::More;
+
+#use version;
+use Perl::MinimumVersion;
+my @examples_not=(
+ q{mkdir1('test',1);},
+ q{mkdir('test',1);},
+ q{mkdir 'test',1;},
+ q{$test->mkdir('a');},
+);
+my @examples_yes=(
+ q{mkdir('test');},
+ q{mkdir 'test';},
+ q{$c=mkdir('test');},
+);
+plan tests =>(@examples_not+ at examples_yes);
+foreach my $example (@examples_not) {
+ my $p = Perl::MinimumVersion->new(\$example);
+ is($p->_mkdir_1_arg,'',$example) or do {diag "\$\@: $@" if $@};
+}
+foreach my $example (@examples_yes) {
+ my $p = Perl::MinimumVersion->new(\$example);
+ is($p->_mkdir_1_arg,1,$example) or do {diag "\$\@: $@" if $@};
+}
More information about the Pkg-perl-cvs-commits
mailing list