--- a/t/10-dnsvi.t Wed Jan 14 09:18:35 2015 +0100
+++ b/t/10-dnsvi.t Wed Jan 21 20:33:49 2015 +0100
@@ -40,13 +40,19 @@
MX => 0,
},
b => {
- RRSETS => 7,
+ RRSETS => 11,
SOA => 1,
NS => 2,
A => 1,
TXT => 3,
AAAA => 0,
MX => 0,
+ CNAME => {
+ 'foo.km21.de.' => [qw/tte.km21.de./],
+ 'bar.km21.de.' => [qw/tte.km21.de./],
+ 'baz.km21.de.' => [qw/tte.km21.de./],
+ 'faz.km21.de.' => [qw/a.b.c./],
+ },
},
c => {
RRSETS => 12,
@@ -81,25 +87,33 @@
grep { $_ ne 'RRSETS' } sort keys %h;
};
-#foreach my $sample (sort keys %expect) {
-foreach my $sample ('d') {
+foreach my $sample (sort keys %expect) {
my $file = "t/samples/$sample";
subtest "sample $file" => sub {
my %expect = %{ $expect{$sample} };
my @zone = parse(slurp $file);
-# use Data::Dumper;
# diag Dumper \@zone;
is @zone, $expect{RRSETS} => "$sample: $expect{RRSETS} RRSETS";
foreach my $type (@sets) {
# diag '----------->' . $type;
- if (ref $expect{$type}) {
+ if (ref $expect{$type} eq ref[]) {
my @entries = sort map { $_->{label} } grep { $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
is_deeply \@entries, $expect{$type} => 'list of labels';
}
+ elsif (ref $expect{$type} eq ref{}) {
+# use Data::Dumper;
+ foreach my $label (keys %{ $expect{$type} }) {
+ #diag Dumper $expect{$type}{$label};
+ #diag Dumper $expect{$type};
+ my @entries = sort map { $_->{data} } grep { $_->{label} eq $label and $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
+# diag Dumper \@entries;
+ is_deeply \@entries, $expect{$type}{$label} => 'complete rrsets',
+ }
+ }
else {
is grep({ $_->{rrset}{rrtype} eq $type } @zone),
- $expect{$type} => "number of $type rrsets\n";
+ $expect{$type}//0 => "number of $type rrsets\n";
}
}