From: Jarkko Hietaniemi Date: Mon, 3 Aug 1998 00:59:41 +0000 (+0300) Subject: more pack() tests X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=eddc390b857822ea7e06f75e568c736ee2f8c72d;p=p5sagit%2Fp5-mst-13.2.git more pack() tests Message-Id: <199808022159.AAA17160@alpha.hut.fi> Subject: Re: uudecode 'u' problem p4raw-id: //depot/maint-5.005/perl@1719 --- diff --git a/t/op/pack.t b/t/op/pack.t index c821ed6..9b7bc35 100755 --- a/t/op/pack.t +++ b/t/op/pack.t @@ -2,7 +2,7 @@ # $RCSfile: pack.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:11 $ -print "1..58\n"; +print "1..60\n"; $format = "c2 x5 C C x s d i l a6"; # Need the expression in here to force ary[5] to be numeric. This avoids @@ -158,7 +158,7 @@ foreach my $t (@templates) { print "ok ", $test++, "\n"; } -# 57..58: uuencode/decode +# 57..60: uuencode/decode $in = join "", map { chr } 0..255; @@ -180,3 +180,26 @@ print "ok ", $test++, "\n"; print "not " unless unpack('u', $uu) eq $in; print "ok ", $test++, "\n"; +$in = "\x1f\x8b\x08\x08\x58\xdc\xc4\x35\x02\x03\x4a\x41\x50\x55\x00\xf3\x2a\x2d\x2e\x51\x48\xcc\xcb\x2f\xc9\x48\x2d\x52\x08\x48\x2d\xca\x51\x28\x2d\x4d\xce\x4f\x49\x2d\xe2\x02\x00\x64\x66\x60\x5c\x1a\x00\x00\x00"; +$uu = <<'EOUU'; +M'XL("%C("`&1F +&8%P:```` +EOUU + +print "not " unless unpack('u', $uu) eq $in; +print "ok ", $test++, "\n"; + +# 60 identical to 59 except that backquotes have been changed to spaces + +$uu = <<'EOUU'; +M'XL("%C(" &1F +&8%P: +EOUU + +print "not " unless unpack('u', $uu) eq $in; +print "ok ", $test++, "\n"; + +# Note that first uuencoding known 'text' data and then checking the +# binary values of the uuencoded version would not be portable between +# character sets. Uuencoding is meant for encoding binary data, not +# text data.