Blame t/sort_groups.t

Packit 90fbfc
use strict;
Packit 90fbfc
use warnings;
Packit 90fbfc
Packit 90fbfc
use Test::More;
Packit 90fbfc
Packit 90fbfc
use CPAN::Changes;
Packit 90fbfc
Packit 90fbfc
my $changes = CPAN::Changes->load_string(<<'END_CHANGES');
Packit 90fbfc
1.05 2011-04-17
Packit 90fbfc
    [A]
Packit 90fbfc
    - stuff
Packit 90fbfc
    [B]
Packit 90fbfc
    - mo' stuff
Packit 90fbfc
1.04 2011-04-16
Packit 90fbfc
    [C]
Packit 90fbfc
    - stuff
Packit 90fbfc
    [D]
Packit 90fbfc
    - mo' stuff
Packit 90fbfc
END_CHANGES
Packit 90fbfc
Packit 90fbfc
like $changes->serialize => expected_order(qw/ A B C D/ );
Packit 90fbfc
like $changes->serialize( group_sort => \&reverse_order ) => expected_order(qw/ B A D C/ );
Packit 90fbfc
Packit 90fbfc
my ($release) = reverse $changes->releases;
Packit 90fbfc
like $release->serialize => expected_order(qw/ A B / );
Packit 90fbfc
like $release->serialize( group_sort => \&reverse_order ) => expected_order(qw/ B A / );
Packit 90fbfc
Packit 90fbfc
is_deeply [ $release->groups ], [qw/ A B /]; 
Packit 90fbfc
is_deeply [ $release->groups( sort => \&reverse_order ) ], [qw/ B A /]; 
Packit 90fbfc
Packit 90fbfc
sub reverse_order {
Packit 90fbfc
    return reverse sort @_;
Packit 90fbfc
}
Packit 90fbfc
Packit 90fbfc
sub expected_order {
Packit 90fbfc
    my @groups = @_;
Packit 90fbfc
    my $re = join '.*', map { "\\[$_\\]" } @groups;
Packit 90fbfc
    return qr/$re/s;
Packit 90fbfc
}
Packit 90fbfc
Packit 90fbfc
done_testing;