App-Git-Workflow
view release on metacpan or search on metacpan
t/workflow.t view on Meta::CPAN
[
'git-tag',
[qw'sha 55d0295a1227f591afc683dd12e43823cd2e404d'],
],
[
'git-branch',
[qw'branch origin/master'],
],
);
for my $data (@data) {
$git->mock_reset();
$git->mock_add({ 'rev-parse' => 't/data' });
$pom->{branches} = {};
$pom->{tags} = [];
$pom->{GIT_DIR} = $data->[0];
my $ans = [$pom->current()];
is_deeply $ans, $data->[1], "Get the current $data->[0]"
or diag Dumper $ans, $data->[1];
}
}
sub test_match_commits {
return;
my @data = (
[
[
[qw{1.0 2.0 3.0}],
[qw{master origin/master}],
],
[qw/tag ./],
[{
branches => {},
sha => undef,
user => 'test user',
email => 'test@example.com',
files => {},
name => '3.0',
time => time,
}],
],
[
[
[qw{master origin/master}],
],
[qw/branch ./],
[{
branches => {},
sha => undef,
user => 'test user',
email => 'test@example.com',
files => {},
name => '3.0',
time => time,
}],
],
);
TODO:
for my $data (@data) {
local $TODO = 'Need to decide if this even needs to exits';
$git->mock_reset();
$git->mock_add(@{ $data->[0] });
$pom->{branches} = {};
$pom->{tags} = [];
my $ans = [$pom->match_commits(@{$data->[1]})];
is_deeply $ans, $data->[2], "Get the commits for $data->[1][0]"
or diag Dumper $ans, $data->[2];
}
}
sub test_release {
my @data = (
[
[
{ tag => [qw{1.0 10.0 2.0 3.0 ZZZ}] },
],
[qw/tag local/, qr/^\d+/],
'10.0',
],
[
[
{ branch => [map {" $_"} qw{origin/other origin/master}] },
],
[qw/branch remote/, qr/master/],
'origin/master',
],
);
for my $data (@data) {
$git->mock_reset();
$git->mock_add(@{ $data->[0] });
$pom->{branches} = {};
$pom->{tags} = [];
my $ans = $pom->release(@{$data->[1]});
is_deeply $ans, $data->[2], "Get the commits for $data->[1][0]"
or diag Dumper $ans, $data->[2];
}
}
sub test_releases {
my @data = (
[
[
{ tag => [qw/not-release v3.0 v1.0 v1.1 v2.0/] },
{ log => "1405968782\x{1}55d0295a1227f591afc683dd12e43823cd2e404d" },
{ branch => [map {" $_"} qw{master origin/master}] },
],
{ tag => '^v\d+(?:[.]\d+)*$' },
[
{
branches => {
master => 1,
'origin/master' => 1
},
files => {},
user => undef,
time => '1405968782',
name => 'v3.0',
email => undef,
sha => '55d0295a1227f591afc683dd12e43823cd2e404d'
( run in 0.824 second using v1.01-cache-2.11-cpan-39bf76dae61 )