Upgrade to Locale::Maketext 1.09
[p5sagit/p5-mst-13.2.git] / lib / Locale / Maketext / t / 40_super.t
1
2 # Time-stamp: "2004-03-30 18:02:24 AST"
3 #sub Locale::Maketext::DEBUG () {10}
4 use Locale::Maketext;
5
6 use Test;
7 BEGIN { plan tests => 19 };
8
9 print "#\n# Testing non-tight insertion of super-ordinate language tags...\n#\n";
10
11 my @in = grep m/\S/, split /[\n\r]/, q{
12  NIX => NIX
13   sv => sv
14   en => en
15  hai => hai
16
17           pt-br => pt-br pt
18        pt-br fr => pt-br fr pt
19     pt-br fr pt => pt-br fr pt
20  pt-br fr pt de => pt-br fr pt de
21  de pt-br fr pt => de pt-br fr pt
22     de pt-br fr => de pt-br fr pt
23    hai pt-br fr => hai pt-br fr  pt
24
25 # Now test multi-part complicateds:
26    pt-br-janeiro fr => pt-br-janeiro fr pt-br pt 
27 pt-br-janeiro de fr => pt-br-janeiro de fr pt-br pt
28 pt-br-janeiro de pt fr => pt-br-janeiro de pt fr pt-br
29
30 ja    pt-br-janeiro fr => ja pt-br-janeiro fr pt-br pt 
31 ja pt-br-janeiro de fr => ja pt-br-janeiro de fr pt-br pt
32 ja pt-br-janeiro de pt fr => ja pt-br-janeiro de pt fr pt-br
33
34 pt-br-janeiro de pt-br fr => pt-br-janeiro de pt-br fr pt
35  # an odd case, since we don't filter for uniqueness in this sub
36  
37 };
38
39 $Locale::Maketext::MATCH_SUPERS_TIGHTLY = 0;
40
41 foreach my $in (@in) {
42   $in =~ s/^\s+//s;
43   $in =~ s/\s+$//s;
44   $in =~ s/#.+//s;
45   next unless $in =~ m/\S/;
46   
47   my(@in, @should);
48   {
49     die "What kind of line is <$in>?!"
50      unless $in =~ m/^(.+)=>(.+)$/s;
51   
52     my($i,$s) = ($1, $2);
53     @in     = ($i =~ m/(\S+)/g);
54     @should = ($s =~ m/(\S+)/g);
55     #print "{@in}{@should}\n";
56   }
57   my @out = Locale::Maketext->_add_supers(
58     ("@in" eq 'NIX') ? () : @in
59   );
60   #print "O: ", join(' ', map "<$_>", @out), "\n";
61   @out = 'NIX' unless @out;
62
63   
64   if( @out == @should
65       and lc( join "\e", @out ) eq lc( join "\e", @should )
66   ) {
67     print "#     Happily got [@out] from [$in]\n";
68     ok 1;
69   } else {
70     ok 0;
71     print "#!!Got:         [@out]\n",
72           "#!! but wanted: [@should]\n",
73           "#!! from \"$in\"\n#\n";
74   }
75 }
76
77 print "#\n#\n# Bye-bye!\n";
78 ok 1;
79