Skip to content

Commit

Permalink
Add test files to test dedupe_superseded() and normalize_version_numb…
Browse files Browse the repository at this point in the history
…er(). Extensive debugging of the latter.
  • Loading branch information
jkeenan committed Feb 21, 2010
1 parent e2a99e5 commit 3e13554
Show file tree
Hide file tree
Showing 5 changed files with 403 additions and 3 deletions.
3 changes: 3 additions & 0 deletions MANIFEST
@@ -1,5 +1,6 @@
Changes
lib/CPAN/Mini/Visit/Simple.pm
lib/CPAN/Mini/Visit/Simple.pod
lib/CPAN/Mini/Visit/Simple/Auxiliary.pm
LICENSE
Makefile.PL
Expand All @@ -8,4 +9,6 @@ MANIFEST.SKIP
README
t/001_new.t
t/002_identify_distros.t
t/003_dedupe_superseded.t
t/004_normalize_version_number.t
Todo
12 changes: 10 additions & 2 deletions lib/CPAN/Mini/Visit/Simple/Auxiliary.pm
Expand Up @@ -9,6 +9,7 @@ our @EXPORT_OK = qw(
);
use File::Basename;
use File::Spec;
use Scalar::Util qw( looks_like_number );

sub dedupe_superseded {
my $listref = shift;
Expand Down Expand Up @@ -51,8 +52,15 @@ sub dedupe_superseded {
sub normalize_version_number {
my $v = shift;
my @captures = split /\./, $v;
my $normalized = "$captures[0].";
$normalized =~ s/^0+?(\d+\.)/$1/;
my $normalized;
if ( $captures[0] eq q{} ) {
$normalized = 0;
}
else {
$normalized = 0+$captures[0];
}

$normalized .= '.';
for my $cap (@captures[1..$#captures]) {
$normalized .= sprintf("%05d", $cap);
}
Expand Down
2 changes: 1 addition & 1 deletion t/002_identify_distros.t
Expand Up @@ -9,7 +9,7 @@ use File::Spec;
use File::Temp qw( tempfile tempdir );
use IO::CaptureOutput qw( capture );
use Tie::File;
use Test::More qw(no_plan); # tests => 23;
use Test::More tests => 26;

my ( $self, $rv, @list, $phony_minicpan, $tdir, $id_dir );

Expand Down
57 changes: 57 additions & 0 deletions t/003_dedupe_superseded.t
@@ -0,0 +1,57 @@
# -*- perl -*-

# t/003_dedupe_superseded.t

use CPAN::Mini::Visit::Simple::Auxiliary qw(
dedupe_superseded
);
use Test::More tests => 2;

my $topdir = q{/minicpan/authors/id/D/DR/DROLSKY};
my (@list, $newlist_ref, $expected);

@list = (
qq{$topdir/Class-MOP-0.82.tar.gz},
qq{$topdir/Class-MOP-0.88.tar.gz},
qq{$topdir/Class-MOP-0.98.tar.gz},
qq{$topdir/Class-MOP-0.78.tar.gz},
qq{$topdir/Sig-PackageScoped-0.04.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.13.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.14.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.01.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.16.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.16a.tar.gz},
);
$newlist_ref = dedupe_superseded(\@list);

$expected = [
'/minicpan/authors/id/D/DR/DROLSKY/Class-MOP-0.98.tar.gz',
'/minicpan/authors/id/D/DR/DROLSKY/Sig-PackageScoped-0.04.tar.gz',
'/minicpan/authors/id/D/DR/DROLSKY/SmokeRunner-Multi-0.16.tar.gz',
'/minicpan/authors/id/D/DR/DROLSKY/SmokeRunner-Multi-0.16a.tar.gz'
];
is_deeply( $newlist_ref, $expected,
"Got expected deduped list" );

@list = (
qq{$topdir/Class-MOP-0.82.tar.gz},
qq{$topdir/Class-MOP-0.88.tar.gz},
qq{$topdir/Class-MOP-0.98.tar.gz},
qq{$topdir/Class-MOP-1.78.tar.gz},
qq{$topdir/Sig-PackageScoped-0.04.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.13.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.14.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.01.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.16.tar.gz},
qq{$topdir/SmokeRunner-Multi-0.16a.tar.gz},
);
$newlist_ref = dedupe_superseded(\@list);

$expected = [
'/minicpan/authors/id/D/DR/DROLSKY/Class-MOP-1.78.tar.gz',
'/minicpan/authors/id/D/DR/DROLSKY/Sig-PackageScoped-0.04.tar.gz',
'/minicpan/authors/id/D/DR/DROLSKY/SmokeRunner-Multi-0.16.tar.gz',
'/minicpan/authors/id/D/DR/DROLSKY/SmokeRunner-Multi-0.16a.tar.gz'
];
is_deeply( $newlist_ref, $expected,
"Got expected deduped list" );

0 comments on commit 3e13554

Please sign in to comment.