700_Dpkg_Control.t 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # -*- mode: cperl;-*-
  2. use Test::More tests => 9;
  3. use strict;
  4. use warnings;
  5. use IO::String;
  6. use_ok('Dpkg::Control');
  7. my $srcdir = $ENV{srcdir} || '.';
  8. $srcdir .= '/t/700_Dpkg_Control';
  9. my $c = Dpkg::Control->new("$srcdir/control-1");
  10. my $io = IO::String->new();
  11. $c->dump($io);
  12. is(${$io->string_ref()},
  13. 'Source: mysource
  14. My-Field-One: myvalue1
  15. My-Field-Two: myvalue2
  16. Long-Field: line1
  17. line 2 line 2 line 2
  18. line 3 line 3 line 3
  19. Empty-Field:
  20. Package: mypackage1
  21. Depends: libc6
  22. Package: mypackage2
  23. Depends: hello
  24. Package: mypackage3
  25. Depends: hello
  26. Description: short one
  27. long one
  28. very long one
  29. ', "Dump of $srcdir/control-1");
  30. my $src = $c->get_source();
  31. is($src->{'my-field-one'}, 'myvalue1', "Access field through badly capitalized field name");
  32. is($src->{'long-field'},
  33. 'line1
  34. line 2 line 2 line 2
  35. line 3 line 3 line 3', "Get multi-line field");
  36. is($src->{'Empty-field'}, "", "Get empty field");
  37. my $pkg = $c->get_pkg_by_idx(1);
  38. is($pkg->{package}, 'mypackage1', 'Name of first package');
  39. $pkg = $c->get_pkg_by_name("mypackage3");
  40. is($pkg->{package}, 'mypackage3', 'Name of third package');
  41. is($pkg->{Depends}, 'hello', 'Name of third package');
  42. $pkg = $c->get_pkg_by_idx(2);
  43. $io = IO::String->new();
  44. tied(%{$pkg})->dump($io);
  45. is(${$io->string_ref()},
  46. 'Package: mypackage2
  47. Depends: hello
  48. ', "Dump of second binary package of $srcdir/control-1");