From 1a5c8d6b7cf3e15f093ebccff8b9633d31bc7fcb Mon Sep 17 00:00:00 2001 From: Raphael Hertzog Date: Sat, 29 Dec 2007 19:34:24 +0100 Subject: [PATCH] Add non-regression tests for Dpkg::Control and Dpkg::Cdata --- ChangeLog | 3 ++ scripts/t/700_Dpkg_Control.t | 63 ++++++++++++++++++++++++++++ scripts/t/700_Dpkg_Control/control-1 | 22 ++++++++++ 3 files changed, 88 insertions(+) create mode 100644 scripts/t/700_Dpkg_Control.t create mode 100644 scripts/t/700_Dpkg_Control/control-1 diff --git a/ChangeLog b/ChangeLog index f27de5cf..5a71bec4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,6 +27,9 @@ * scripts/Dpkg/Cdata.pm, scripts/Dpkg/Control.pm: Add two new module to parse and manipulate files like debian/control. + * scripts/t/600_Dpkg_Control.t, + scripts/t/600_Dpkg_Control/control-1: Add non-regression tests for + Dpkg::Control and Dpkg::Cdata. 2007-12-28 Raphael Hertzog diff --git a/scripts/t/700_Dpkg_Control.t b/scripts/t/700_Dpkg_Control.t new file mode 100644 index 00000000..bff3e36f --- /dev/null +++ b/scripts/t/700_Dpkg_Control.t @@ -0,0 +1,63 @@ +# -*- mode: cperl;-*- + +use Test::More tests => 9; + +use strict; +use warnings; +use IO::String; + +use_ok('Dpkg::Control'); + +my $srcdir = $ENV{srcdir} || '.'; +$srcdir .= '/t/700_Dpkg_Control'; + +my $c = Dpkg::Control->new("$srcdir/control-1"); + +my $io = IO::String->new(); +$c->dump($io); +is(${$io->string_ref()}, +'Source: mysource +My-Field-One: myvalue1 +My-Field-Two: myvalue2 +Long-Field: line1 + line 2 line 2 line 2 + line 3 line 3 line 3 +Empty-Field: + +Package: mypackage1 +Depends: libc6 + +Package: mypackage2 +Depends: hello + +Package: mypackage3 +Depends: hello +Description: short one + long one + very long one +', "Dump of $srcdir/control-1"); + +my $src = $c->get_source(); +is($src->{'my-field-one'}, 'myvalue1', "Access field through badly capitalized field name"); +is($src->{'long-field'}, +'line1 + line 2 line 2 line 2 + line 3 line 3 line 3', "Get multi-line field"); +is($src->{'Empty-field'}, "", "Get empty field"); + +my $pkg = $c->get_pkg_by_idx(1); +is($pkg->{package}, 'mypackage1', 'Name of first package'); + +$pkg = $c->get_pkg_by_name("mypackage3"); +is($pkg->{package}, 'mypackage3', 'Name of third package'); +is($pkg->{Depends}, 'hello', 'Name of third package'); + +$pkg = $c->get_pkg_by_idx(2); +$io = IO::String->new(); +tied(%{$pkg})->dump($io); + +is(${$io->string_ref()}, +'Package: mypackage2 +Depends: hello +', "Dump of second binary package of $srcdir/control-1"); + diff --git a/scripts/t/700_Dpkg_Control/control-1 b/scripts/t/700_Dpkg_Control/control-1 new file mode 100644 index 00000000..31f35cda --- /dev/null +++ b/scripts/t/700_Dpkg_Control/control-1 @@ -0,0 +1,22 @@ +Source: mysource +# This is a comment +my-field-one: myvalue1 +my-field-two: myvalue2 +long-field: line1 + line 2 line 2 line 2 + line 3 line 3 line 3 +empty-field: + +# First package +Package: mypackage1 +Depends: libc6 + +# Second package +Package: mypackage2 +Depends: hello + +Package: mypackage3 +Depends: hello +Description: short one + long one + very long one -- 2.39.5