File: 10.roundtrip.t

package info (click to toggle)
libconvert-ytext-perl 0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 128 kB
  • sloc: perl: 322; makefile: 11
file content (59 lines) | stat: -rw-r--r-- 1,327 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
BEGIN {
   binmode STDOUT, ':utf8';
   binmode STDERR, ':utf8';
}

use Test::More;
use strict;
use warnings;

require 't/corpus.pl';
my @list=corpus();

plan tests => 1+5*(scalar @list);

use_ok 'Convert::YText', qw(encode_ytext decode_ytext);

foreach my $addr (@list){
  is(decode_ytext(encode_ytext($addr)), $addr, "roundtrip: ".$addr);
}

{
  my $enc = Convert::YText->new(SPACE_CHAR=>'',
				SLASH_CHAR=>'');
  foreach my $addr (@list){
    is($enc->decode($enc->encode($addr)), $addr, "roundtrip 2: ".$addr);
  }
}

{
  my $enc = Convert::YText->new(ESCAPE_CHAR=>'@',
				SLASH_CHAR=>'');
  foreach my $addr (@list){
    is($enc->decode($enc->encode($addr)), $addr, "roundtrip 3: ".$addr);
  }
}

{
  my $enc = Convert::YText->new(ESCAPE_CHAR=>'z',
				DIGIT_STRING=>'0123456789!@#$%^&*()'.
				'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr');

  foreach my $addr (@list){
    is($enc->decode($enc->encode($addr)), $addr, "roundtrip 4: ".$addr);
  }
}

{
  my $enc = Convert::YText->new(
				SPACE_CHAR=>'',
				SLASH_CHAR=>'',
			        DIGIT_STRING=>"ABCDEFGHIJKLMNOPQRSTUVWXYZ" .
                                 "abcdefghijklmnopqrstuvwxyz0123456789-.",
			      ESCAPE_CHAR=>'_',
			      EXTRA_CHARS=>'');

  foreach my $addr (@list){
    is($enc->decode($enc->encode($addr)), $addr, "roundtrip 5: ".$addr);
  }
}