File Coverage

tests/test-archive-1
Criterion Covered Total %
statement 13 51 25.4
branch 1 2 50.0
condition n/a
subroutine 4 4 100.0
pod n/a
total 18 57 31.5


line stmt bran cond sub pod time code
1             #!/usr/bin/perl -w
2              
3             # The script tests Arch::Test::Archive methods.
4              
5 1     1   1057 use FindBin;
  1         1207  
  1         54  
6 1     1   836 use lib "$FindBin::Bin/../perllib";
  1         790  
  1         8  
7              
8 1     1   1335 use Test::More;
  1         31361  
  1         13  
9 1     1   1122 use Arch::Util qw(is_tla_functional);
  1         3  
  1         2909  
10              
11 1 50       6 plan skip_all => "No functional arch backend" unless is_tla_functional;
12 0         0 plan tests => 17;
13              
14 0         0 use_ok("Arch::Test::Framework");
15              
16 0         0 my $fw = Arch::Test::Framework->new();
17 0         0 isa_ok($fw, 'Arch::Test::Framework', 'environment');
18              
19 0         0 my $ar1 = $fw->make_archive('ex@amp.le');
20              
21 0         0 my $name_str = 'cat--bra--ver';
22 0         0 my @name_list = qw(cat bra ver);
23              
24 0         0 ok(
25             eq_array(
26             [$ar1->split_arch_name($name_str, 4)],
27             [@name_list]
28             ),
29             'split_arch_name works'
30             );
31              
32 0         0 is(
33             $ar1->join_arch_name(@name_list),
34             $name_str,
35             'join_arch_name works'
36             );
37              
38 0         0 my $cat = $ar1->make_category();
39 0         0 my $bra = $ar1->make_branch();
40 0         0 my $ver = $ar1->make_version();
41              
42 0         0 my @cat = $ar1->split_arch_name($cat, 1);
43 0         0 my @bra = $ar1->split_arch_name($bra, 2);
44 0         0 my @ver = $ar1->split_arch_name($ver, 3);
45              
46 0         0 is(scalar @cat, 1, 'make_category creates category');
47 0         0 is(scalar @bra, 2, 'make_branch creates branch');
48 0         0 is(scalar @ver, 3, 'make_version creates version');
49              
50 0         0 $bra = $ar1->make_branch($cat);
51 0         0 $ver = $ar1->make_version($bra);
52              
53 0         0 @bra = $ar1->split_arch_name($bra, 2);
54 0         0 @ver = $ar1->split_arch_name($ver, 3);
55              
56 0         0 is(scalar @bra, 2, 'make_branch creates branch with prefix');
57 0         0 is(scalar @ver, 3, 'make_version creates version with prefix');
58              
59 0         0 ok(eq_array([@bra[0..0]], [@cat]), 'branch is in category');
60 0         0 ok(eq_array([@ver[0..1]], [@bra]), 'version is in branch');
61              
62 0         0 my $cat2 = $ar1->make_category();
63 0         0 my $bra2 = $ar1->make_branch($cat);
64 0         0 my $ver2 = $ar1->make_version($bra);
65              
66 0         0 isnt($cat, $cat2, 'make_category generates unique identifier');
67 0         0 isnt($bra, $bra2, 'make_branch generates unique identifier');
68 0         0 isnt($ver, $ver2, 'make_version generates unique identifier');
69              
70 0         0 my $cat3 = $ar1->make_category('C');
71 0         0 my $bra3 = $ar1->make_branch('C--B');
72 0         0 my $ver3 = $ar1->make_version('C--B--0');
73              
74 0         0 is($cat3, 'ex@amp.le/C', 'make_category respects parameter');
75 0         0 is($bra3, 'ex@amp.le/C--B', 'make_branch respects parameter');
76 0         0 is($ver3, 'ex@amp.le/C--B--0', 'make_version respects parameter');