2 #sub Locale::Maketext::DEBUG () {10}
6 BEGIN { plan tests => 26 };
7 print "#\n# Testing tight insertion of super-ordinate language tags...\n#\n";
9 my @in = grep m/\S/, split /[\n\r]/, q{
16 pt-br fr => pt-br pt fr
17 pt-br fr pt => pt-br fr pt
19 pt-br fr pt de => pt-br fr pt de
20 de pt-br fr pt => de pt-br fr pt
21 de pt-br fr => de pt-br pt fr
22 hai pt-br fr => hai pt-br pt fr
24 # Now test multi-part complicateds:
25 pt-br-janeiro => pt-br-janeiro pt-br pt
26 pt-br-janeiro fr => pt-br-janeiro pt-br pt fr
27 pt-br-janeiro de fr => pt-br-janeiro pt-br pt de fr
28 pt-br-janeiro de pt fr => pt-br-janeiro pt-br de pt fr
30 pt-br-janeiro pt-br-saopaolo => pt-br-janeiro pt-br pt pt-br-saopaolo
31 pt-br-janeiro fr pt-br-saopaolo => pt-br-janeiro pt-br pt fr pt-br-saopaolo
32 pt-br-janeiro de pt-br-saopaolo fr => pt-br-janeiro pt-br pt de pt-br-saopaolo fr
33 pt-br-janeiro de pt-br fr pt-br-saopaolo => pt-br-janeiro de pt-br pt fr pt-br-saopaolo
35 pt-br de en fr pt-br-janeiro => pt-br pt de en fr pt-br-janeiro
36 pt-br de en fr => pt-br pt de en fr
38 ja pt-br-janeiro fr => ja pt-br-janeiro pt-br pt fr
39 ja pt-br-janeiro de fr => ja pt-br-janeiro pt-br pt de fr
40 ja pt-br-janeiro de pt fr => ja pt-br-janeiro pt-br de pt fr
42 pt-br-janeiro de pt-br fr => pt-br-janeiro de pt-br pt fr
43 # an odd case, since we don't filter for uniqueness in this sub
47 sub uniq { my %seen; return grep(!($seen{$_}++), @_); }
49 foreach my $in (@in) {
53 next unless $in =~ m/\S/;
57 die "What kind of line is <$in>?!"
58 unless $in =~ m/^(.+)=>(.+)$/s;
61 @in = ($i =~ m/(\S+)/g);
62 @should = ($s =~ m/(\S+)/g);
63 #print "{@in}{@should}\n";
65 my @out = uniq( Locale::Maketext->_add_supers(
66 ("@in" eq 'NIX') ? () : @in
68 #print "O: ", join(' ', map "<$_>", @out), "\n";
69 @out = 'NIX' unless @out;
73 and lc( join "\e", @out ) eq lc( join "\e", @should )
75 print "# Happily got [@out] from [$in]\n";
79 print "#!!Got: [@out]\n",
80 "#!! but wanted: [@should]\n",
81 "#!! from \"$in\"\n#\n";
85 print "#\n#\n# Bye-bye!\n";