This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Unicode-Collate to CPAN version 0.56
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Mon, 9 Aug 2010 13:50:39 +0000 (14:50 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Mon, 9 Aug 2010 13:56:57 +0000 (14:56 +0100)
  [DELTA]

  0.56  Sun Aug  8 20:24:03 2010
    - Unicode::Collate::Locale newly supports locales: eo, nb, ro, sv.
    ! renamed t/locale_{xy}.t to t/loc_{xy}.t (for safer 8.3 names)

42 files changed:
MANIFEST
Porting/Maintainers.pl
cpan/Unicode-Collate/Changes
cpan/Unicode-Collate/Collate.pm
cpan/Unicode-Collate/Collate/Locale.pm
cpan/Unicode-Collate/Collate/Locale/eo.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/nn.pl
cpan/Unicode-Collate/Collate/Locale/ro.pl [new file with mode: 0644]
cpan/Unicode-Collate/Collate/Locale/sv.pl [new file with mode: 0644]
cpan/Unicode-Collate/README
cpan/Unicode-Collate/t/altern.t
cpan/Unicode-Collate/t/cjkrange.t
cpan/Unicode-Collate/t/contract.t
cpan/Unicode-Collate/t/default.t
cpan/Unicode-Collate/t/hangtype.t
cpan/Unicode-Collate/t/hangul.t
cpan/Unicode-Collate/t/ignor.t
cpan/Unicode-Collate/t/illegal.t
cpan/Unicode-Collate/t/illegalp.t
cpan/Unicode-Collate/t/index.t
cpan/Unicode-Collate/t/loc_cs.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_eo.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_es.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_estr.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_fr.t [moved from cpan/Unicode-Collate/t/locale_fr.t with 100% similarity]
cpan/Unicode-Collate/t/loc_nb.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_nn.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_pl.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_ro.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_sv.t [new file with mode: 0644]
cpan/Unicode-Collate/t/loc_test.t [moved from cpan/Unicode-Collate/t/locale_test.t with 100% similarity]
cpan/Unicode-Collate/t/locale_cs.t [deleted file]
cpan/Unicode-Collate/t/locale_nn.t [deleted file]
cpan/Unicode-Collate/t/locale_pl.t [deleted file]
cpan/Unicode-Collate/t/normal.t
cpan/Unicode-Collate/t/override.t
cpan/Unicode-Collate/t/rearrang.t
cpan/Unicode-Collate/t/test.t
cpan/Unicode-Collate/t/trailwt.t
cpan/Unicode-Collate/t/variable.t
cpan/Unicode-Collate/t/version.t
cpan/Unicode-Collate/t/view.t

index 247b850..59edeb9 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2471,12 +2471,15 @@ cpan/Unicode-Collate/Changes                    Unicode::Collate
 cpan/Unicode-Collate/Collate/allkeys.txt       Unicode::Collate
 cpan/Unicode-Collate/Collate/keys.txt          Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cs.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/eo.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es_trad.pl                 Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fr.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/nn.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/pl.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale.pm                 Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ro.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/sv.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate.pm                        Unicode::Collate
 cpan/Unicode-Collate/README                    Unicode::Collate
 cpan/Unicode-Collate/t/altern.t                        Unicode::Collate
@@ -2489,11 +2492,17 @@ cpan/Unicode-Collate/t/ignor.t                  Unicode::Collate
 cpan/Unicode-Collate/t/illegalp.t              Unicode::Collate
 cpan/Unicode-Collate/t/illegal.t               Unicode::Collate
 cpan/Unicode-Collate/t/index.t                 Unicode::Collate
-cpan/Unicode-Collate/t/locale_cs.t                     Unicode::Collate
-cpan/Unicode-Collate/t/locale_fr.t                     Unicode::Collate
-cpan/Unicode-Collate/t/locale_nn.t                     Unicode::Collate
-cpan/Unicode-Collate/t/locale_pl.t                     Unicode::Collate
-cpan/Unicode-Collate/t/locale_test.t                   Unicode::Collate
+cpan/Unicode-Collate/t/loc_cs.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_eo.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_es.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_estr.t                      Unicode::Collate
+cpan/Unicode-Collate/t/loc_fr.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_nb.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_nn.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_pl.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_ro.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_sv.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_test.t                      Unicode::Collate
 cpan/Unicode-Collate/t/normal.t                        Unicode::Collate
 cpan/Unicode-Collate/t/override.t              Unicode::Collate
 cpan/Unicode-Collate/t/rearrang.t              Unicode::Collate
index e447445..144b47a 100644 (file)
@@ -1506,7 +1506,7 @@ use File::Glob qw(:case);
     'Unicode::Collate' =>
        {
        'MAINTAINER'    => 'sadahiro',
-       'DISTRIBUTION'  => 'SADAHIRO/Unicode-Collate-0.55-withoutworldwriteables.tar.gz',
+       'DISTRIBUTION'  => 'SADAHIRO/Unicode-Collate-0.56-withoutworldwriteables.tar.gz',
        'FILES'         => q[cpan/Unicode-Collate],
                            # ignore experimental XS version
        'EXCLUDED'      => [ qr{X$},
index 988a616..6028db6 100644 (file)
@@ -1,8 +1,13 @@
 Revision history for Perl module Unicode::Collate.
 
+0.56  Sun Aug  8 20:24:03 2010
+    - Unicode::Collate::Locale newly supports locales: eo, nb, ro, sv.
+    ! renamed t/locale_{xy}.t to t/loc_{xy}.t (for safer 8.3 names)
+
 0.55  Sun Aug  1 21:21:23 2010
-    - incorporated Unicode::Collate::Locale with some changes.
- (see http://www.xray.mpe.mpg.de/mailing-lists/perl-unicode/2004-03/msg00030.html)
+    - incorporated Unicode::Collate::Locale with some changes. (see:
+  http://www.xray.mpe.mpg.de/mailing-lists/perl-unicode/2004-03/msg00030.html)
+    - supported locales: cs, es, es__traditional, fr, nn, pl.
     ! added t/locale*.t that uses DUCET.
 
 0.54  Sun Jul 25 21:37:04 2010
index e7c5513..80f1850 100644 (file)
@@ -14,7 +14,7 @@ use File::Spec;
 
 no warnings 'utf8';
 
-our $VERSION = '0.55';
+our $VERSION = '0.56';
 our $PACKAGE = __PACKAGE__;
 
 my @Path = qw(Unicode Collate);
index 80a87c1..955c81a 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use Carp;
 use base qw(Unicode::Collate);
 
-our $VERSION = '0.55';
+our $VERSION = '0.56';
 
 use File::Spec;
 
@@ -12,25 +12,21 @@ use File::Spec;
 my $KeyPath = File::Spec->catfile('allkeys.txt');
 my $PL_EXT  = '.pl';
 
-my %LocaleFile = (
-    'default'  => '',
-    'cs'       => 'cs',
-    'es'       => 'es',
-    'es__traditional'  => 'es_trad',
-    'fr'       => 'fr',
-    'nn'       => 'nn',
-    'pl'       => 'pl',
-);
+my %LocaleFile = map { ($_, $_) } qw(cs eo es fr nn pl ro sv);
+   $LocaleFile{'default'}         = '';
+   $LocaleFile{'es__traditional'} = 'es_trad';
+   $LocaleFile{'nb'} = 'nn';
 
 sub _locale {
     my $locale = shift;
     if ($locale) {
        $locale = lc $locale;
        $locale =~ tr/\-\ \./_/;
+       $locale =~ s/_trad\z/_traditional/;
        $LocaleFile{$locale} and return $locale;
 
        my ($l,$t,$v) = split(/_/, $locale.'__');
-       for my $loc ("${l}_${t}_$v", "${l}_$t", "${l}__$v", $l) {
+       for my $loc ("${l}_${t}_$v", "${l}_$t", "${l}__$v", "${l}__$t", $l) {
            $LocaleFile{$loc} and return $loc;
        }
     }
@@ -146,11 +142,15 @@ this method returns a string C<'default'> meaning no special tailoring.
     locale name        description
 
       cs                Czech
+      eo                Esperanto
       es                Spanish
       es__traditional   Spanish ('ch' and 'll' as a grapheme)
       fr                French
+      nb                Norwegian Bokmal
       nn                Norwegian Nynorsk
       pl                Polish
+      ro                Romanian
+      sv                Swedish
 
 =head1 AUTHOR
 
diff --git a/cpan/Unicode-Collate/Collate/Locale/eo.pl b/cpan/Unicode-Collate/Collate/Locale/eo.pl
new file mode 100644 (file)
index 0000000..4631ebf
--- /dev/null
@@ -0,0 +1,28 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+0109      ; [.123E.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0063 0302 ; [.123E.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108      ; [.123E.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0043 0302 ; [.123E.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+011D      ; [.12B1.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0067 0302 ; [.12B1.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C      ; [.12B1.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0047 0302 ; [.12B1.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0125      ; [.12D4.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0068 0302 ; [.12D4.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124      ; [.12D4.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0048 0302 ; [.12D4.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0135      ; [.1306.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+006A 0302 ; [.1306.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134      ; [.1306.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+004A 0302 ; [.1306.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+015D      ; [.1411.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0073 0302 ; [.1411.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C      ; [.1411.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0053 0302 ; [.1411.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+016D      ; [.1454.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+0075 0306 ; [.1454.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+016C      ; [.1454.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+0055 0306 ; [.1454.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+ENTRY
+};
index 6e2cae1..1c836f1 100644 (file)
@@ -8,14 +8,14 @@
 00D0      ; [.1250.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
 00FE      ; [.1433.0020.0003.00FE][.12D3.0020.0003.00FE] # LATIN SMALL LETTER THORN
 00DE      ; [.1433.0020.0009.00DE][.12D3.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.149C.0020.0002.00FC][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.149C.0020.0002.00FC][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.149C.0020.0008.00DC][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.149C.0020.0008.00DC][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0171      ; [.149C.0020.0002.0171][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.149C.0020.0002.0171][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.149C.0020.0008.0170][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.149C.0020.0008.0170][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00FC      ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0171      ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
 00E6      ; [.14AE.0020.0002.00E6] # LATIN SMALL LETTER AE
 00C6      ; [.14AE.0020.0008.00C6] # LATIN CAPITAL LETTER AE
 1D2D      ; [.14AE.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
 01FC      ; [.14AE.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
 01E3      ; [.14AE.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
 01E2      ; [.14AE.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.14AE.0020.0002.00E4][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.14AE.0020.0002.00E4][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.14AE.0020.0008.00C4][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.14AE.0020.0008.00C4][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0119      ; [.14AE.0020.0002.0119][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.14AE.0020.0002.0119][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.14AE.0020.0008.0118][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.14AE.0020.0008.0118][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK
+00E4      ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.14AE.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.14AE.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0119      ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.14AE.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.14AE.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
 00F8      ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
 006F 0338 ; [.14AF.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
 00D8      ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
 004F 0338 ; [.14AF.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
 01FF      ; [.14AF.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
 01FE      ; [.14AF.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.14AF.0020.0002.00F6][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.14AF.0020.0002.00F6][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.14AF.0020.0008.00D6][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.14AF.0020.0008.00D6][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS
-0151      ; [.14AF.0020.0002.0151][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.14AF.0020.0002.0151][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.14AF.0020.0008.0150][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.14AF.0020.0008.0150][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.14AF.0021.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.14AF.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
+00F6      ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.14AF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.14AF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+0151      ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.14AF.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.14AF.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.14AF.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.14AF.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
 00E5      ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
 0061 030A ; [.14B0.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
 00C5      ; [.14B0.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ro.pl b/cpan/Unicode-Collate/Collate/Locale/ro.pl
new file mode 100644 (file)
index 0000000..35c7f33
--- /dev/null
@@ -0,0 +1,40 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+0103      ; [.1210.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.1210.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102      ; [.1210.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.1210.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+00E2      ; [.1211.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.1211.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2      ; [.1211.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.1211.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0111      ; [.1251.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1251.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1251.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1251.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00EE      ; [.12ED.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0069 0302 ; [.12ED.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE      ; [.12ED.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0049 0302 ; [.12ED.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+015F      ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1411.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0219      ; [.1411.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+0073 0326 ; [.1411.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+015E      ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1411.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0218      ; [.1411.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0053 0326 ; [.1411.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0163      ; [.1434.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+0074 0327 ; [.1434.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+021B      ; [.1434.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0074 0326 ; [.1434.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0162      ; [.1434.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+0054 0327 ; [.1434.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+021A      ; [.1434.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0054 0326 ; [.1434.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+017C      ; [.14AE.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.14AE.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B      ; [.14AE.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.14AE.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/sv.pl b/cpan/Unicode-Collate/Collate/Locale/sv.pl
new file mode 100644 (file)
index 0000000..e8324d1
--- /dev/null
@@ -0,0 +1,64 @@
++{
+   entry => <<'ENTRY', # for DUCET v5.2.0
+0111      ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1250.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1250.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1250.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1250.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1433.0020.0003.00FE][.12D3.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1433.0020.0009.00DE][.12D3.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+0077      ; [.147B.0020.0003.0077] # LATIN SMALL LETTER W
+0057      ; [.147B.0020.0009.0057] # LATIN CAPITAL LETTER W
+00FC      ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.149C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.149C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0171      ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.149C.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.149C.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5      ; [.14AE.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.14AE.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.14AE.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.14AE.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.14AE.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.14AE.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.14AE.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.14AF.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.14AF.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.14AF.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+00E6      ; [.14AF.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.14AF.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.14AF.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.14AF.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.14AF.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.14AF.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.14AF.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+0119      ; [.14AF.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.14AF.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.14AF.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.14AF.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6      ; [.14B0.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.14B0.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.14B0.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+00F8      ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.14B0.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.14B0.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.14B0.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.14B0.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.14B0.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151      ; [.14B0.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.14B0.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.14B0.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.14B0.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.14B0.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.14B0.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00F4      ; [.14B0.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.14B0.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.14B0.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.14B0.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ENTRY
+};
index 9be30a7..06f6d00 100644 (file)
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.55
+Unicode/Collate version 0.56
 ===============================
 
 NAME
index f9b9511..c958f4b 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 92ccb7c..c926239 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index c0e7e6b..9c55ecd 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 0e0675d..8c3e5cb 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 06a79fb..0d9c1fe 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index c9ae371..d9f7db9 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index a5661a7..4ee47c6 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index cafb9ee..825177c 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 2fb7aec..ff1936d 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 36a2792..5b6c78d 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
diff --git a/cpan/Unicode-Collate/t/loc_cs.t b/cpan/Unicode-Collate/t/loc_cs.t
new file mode 100644 (file)
index 0000000..7079a6e
--- /dev/null
@@ -0,0 +1,63 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 34;
+
+my $objCs = Unicode::Collate::Locale->
+    new(locale => 'CS', normalization => undef);
+
+ok(1);
+ok($objCs->getlocale, 'cs');
+
+$objCs->change(level => 1);
+
+ok($objCs->lt("c", "c\x{30C}"));
+ok($objCs->gt("d", "c\x{30C}"));
+ok($objCs->lt("h", "ch"));
+ok($objCs->gt("i", "ch"));
+ok($objCs->lt("r", "r\x{30C}"));
+ok($objCs->gt("s", "r\x{30C}"));
+ok($objCs->lt("s", "s\x{30C}"));
+ok($objCs->gt("t", "s\x{30C}"));
+ok($objCs->lt("z", "z\x{30C}"));
+ok($objCs->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
+
+# 12
+
+$objCs->change(level => 2);
+
+ok($objCs->eq("c\x{30C}", "C\x{30C}"));
+ok($objCs->eq("r\x{30C}", "R\x{30C}"));
+ok($objCs->eq("s\x{30C}", "S\x{30C}"));
+ok($objCs->eq("z\x{30C}", "Z\x{30C}"));
+ok($objCs->eq("ch", "cH"));
+ok($objCs->eq("cH", "Ch"));
+ok($objCs->eq("Ch", "CH"));
+
+# 19
+
+$objCs->change(level => 3);
+
+ok($objCs->lt("c\x{30C}", "C\x{30C}"));
+ok($objCs->lt("r\x{30C}", "R\x{30C}"));
+ok($objCs->lt("s\x{30C}", "S\x{30C}"));
+ok($objCs->lt("z\x{30C}", "Z\x{30C}"));
+ok($objCs->lt("ch", "cH"));
+ok($objCs->lt("cH", "Ch"));
+ok($objCs->lt("Ch", "CH"));
+
+# 26
+
+ok($objCs->eq("c\x{30C}", "\x{10D}"));
+ok($objCs->eq("C\x{30C}", "\x{10C}"));
+ok($objCs->eq("r\x{30C}", "\x{159}"));
+ok($objCs->eq("R\x{30C}", "\x{158}"));
+ok($objCs->eq("s\x{30C}", "\x{161}"));
+ok($objCs->eq("S\x{30C}", "\x{160}"));
+ok($objCs->eq("z\x{30C}", "\x{17E}"));
+ok($objCs->eq("Z\x{30C}", "\x{17D}"));
+
+# 34
diff --git a/cpan/Unicode-Collate/t/loc_eo.t b/cpan/Unicode-Collate/t/loc_eo.t
new file mode 100644 (file)
index 0000000..2a24b12
--- /dev/null
@@ -0,0 +1,67 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 38;
+
+my $objEo = Unicode::Collate::Locale->
+    new(locale => 'EO', normalization => undef);
+
+ok(1);
+ok($objEo->getlocale, 'eo');
+
+$objEo->change(level => 1);
+
+ok($objEo->lt("c", "c\x{302}"));
+ok($objEo->gt("d", "c\x{302}"));
+ok($objEo->lt("g", "g\x{302}"));
+ok($objEo->gt("h", "g\x{302}"));
+ok($objEo->lt("h", "h\x{302}"));
+ok($objEo->gt("i", "h\x{302}"));
+ok($objEo->lt("j", "j\x{302}"));
+ok($objEo->gt("k", "j\x{302}"));
+ok($objEo->lt("s", "s\x{302}"));
+ok($objEo->gt("t", "s\x{302}"));
+ok($objEo->lt("u", "u\x{306}"));
+ok($objEo->gt("v", "u\x{306}"));
+
+# 14
+
+$objEo->change(level => 2);
+
+ok($objEo->eq("c\x{302}", "C\x{302}"));
+ok($objEo->eq("g\x{302}", "G\x{302}"));
+ok($objEo->eq("h\x{302}", "H\x{302}"));
+ok($objEo->eq("j\x{302}", "J\x{302}"));
+ok($objEo->eq("s\x{302}", "S\x{302}"));
+ok($objEo->eq("u\x{306}", "U\x{306}"));
+
+# 20
+
+$objEo->change(level => 3);
+
+ok($objEo->lt("c\x{302}", "C\x{302}"));
+ok($objEo->lt("g\x{302}", "G\x{302}"));
+ok($objEo->lt("h\x{302}", "H\x{302}"));
+ok($objEo->lt("j\x{302}", "J\x{302}"));
+ok($objEo->lt("s\x{302}", "S\x{302}"));
+ok($objEo->lt("u\x{306}", "U\x{306}"));
+
+# 26
+
+ok($objEo->eq("c\x{302}", "\x{109}"));
+ok($objEo->eq("C\x{302}", "\x{108}"));
+ok($objEo->eq("g\x{302}", "\x{11D}"));
+ok($objEo->eq("G\x{302}", "\x{11C}"));
+ok($objEo->eq("h\x{302}", "\x{125}"));
+ok($objEo->eq("H\x{302}", "\x{124}"));
+ok($objEo->eq("j\x{302}", "\x{135}"));
+ok($objEo->eq("J\x{302}", "\x{134}"));
+ok($objEo->eq("s\x{302}", "\x{15D}"));
+ok($objEo->eq("S\x{302}", "\x{15C}"));
+ok($objEo->eq("u\x{306}", "\x{16D}"));
+ok($objEo->eq("U\x{306}", "\x{16C}"));
+
+# 38
diff --git a/cpan/Unicode-Collate/t/loc_es.t b/cpan/Unicode-Collate/t/loc_es.t
new file mode 100644 (file)
index 0000000..228a58c
--- /dev/null
@@ -0,0 +1,48 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 22;
+
+my $objEs = Unicode::Collate::Locale->
+    new(locale => 'ES', normalization => undef);
+
+ok(1);
+ok($objEs->getlocale, 'es');
+
+$objEs->change(level => 1);
+
+ok($objEs->lt("cg", "ch"));
+ok($objEs->gt("ci", "ch"));
+ok($objEs->gt("d", "ch"));
+ok($objEs->lt("lk", "ll"));
+ok($objEs->gt("lm", "ll"));
+ok($objEs->gt("m", "ll"));
+ok($objEs->lt("n", "n\x{303}"));
+ok($objEs->gt("o", "n\x{303}"));
+
+# 10
+
+$objEs->change(level => 2);
+
+ok($objEs->eq("ch", "Ch"));
+ok($objEs->eq("Ch", "CH"));
+ok($objEs->eq("ll", "Ll"));
+ok($objEs->eq("Ll", "LL"));
+ok($objEs->eq("n\x{303}", "N\x{303}"));
+
+# 15
+
+$objEs->change(level => 3);
+
+ok($objEs->lt("ch", "Ch"));
+ok($objEs->lt("Ch", "CH"));
+ok($objEs->lt("ll", "Ll"));
+ok($objEs->lt("Ll", "LL"));
+ok($objEs->lt("n\x{303}", "N\x{303}"));
+ok($objEs->eq("n\x{303}", pack('U', 0xF1)));
+ok($objEs->eq("N\x{303}", pack('U', 0xD1)));
+
+# 22
diff --git a/cpan/Unicode-Collate/t/loc_estr.t b/cpan/Unicode-Collate/t/loc_estr.t
new file mode 100644 (file)
index 0000000..b938b49
--- /dev/null
@@ -0,0 +1,48 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 22;
+
+my $objEsTrad = Unicode::Collate::Locale->
+    new(locale => 'ES-trad', normalization => undef);
+
+ok(1);
+ok($objEsTrad->getlocale, 'es__traditional');
+
+$objEsTrad->change(level => 1);
+
+ok($objEsTrad->lt("c", "ch"));
+ok($objEsTrad->lt("cz","ch"));
+ok($objEsTrad->gt("d", "ch"));
+ok($objEsTrad->lt("l", "ll"));
+ok($objEsTrad->lt("lz","ll"));
+ok($objEsTrad->gt("m", "ll"));
+ok($objEsTrad->lt("n", "n\x{303}"));
+ok($objEsTrad->gt("o", "n\x{303}"));
+
+# 10
+
+$objEsTrad->change(level => 2);
+
+ok($objEsTrad->eq("ch", "Ch"));
+ok($objEsTrad->eq("Ch", "CH"));
+ok($objEsTrad->eq("ll", "Ll"));
+ok($objEsTrad->eq("Ll", "LL"));
+ok($objEsTrad->eq("n\x{303}", "N\x{303}"));
+
+# 15
+
+$objEsTrad->change(level => 3);
+
+ok($objEsTrad->lt("ch", "Ch"));
+ok($objEsTrad->lt("Ch", "CH"));
+ok($objEsTrad->lt("ll", "Ll"));
+ok($objEsTrad->lt("Ll", "LL"));
+ok($objEsTrad->lt("n\x{303}", "N\x{303}"));
+ok($objEsTrad->eq("n\x{303}", pack('U', 0xF1)));
+ok($objEsTrad->eq("N\x{303}", pack('U', 0xD1)));
+
+# 22
diff --git a/cpan/Unicode-Collate/t/loc_nb.t b/cpan/Unicode-Collate/t/loc_nb.t
new file mode 100644 (file)
index 0000000..4ad8352
--- /dev/null
@@ -0,0 +1,140 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 83;
+
+my $eth  = pack 'U', 0xF0;
+my $ETH  = pack 'U', 0xD0;
+my $thrn = pack 'U', 0xFE;
+my $THRN = pack 'U', 0xDE;
+my $uuml = pack 'U', 0xFC;
+my $Uuml = pack 'U', 0xDC;
+my $ae   = pack 'U', 0xE6;
+my $AE   = pack 'U', 0xC6;
+my $auml = pack 'U', 0xE4;
+my $Auml = pack 'U', 0xC4;
+my $ostk = pack 'U', 0xF8;
+my $Ostk = pack 'U', 0xD8;
+my $ouml = pack 'U', 0xF6;
+my $Ouml = pack 'U', 0xD6;
+my $arng = pack 'U', 0xE5;
+my $Arng = pack 'U', 0xC5;
+
+my $objNb = Unicode::Collate::Locale->
+    new(locale => 'NB', normalization => undef);
+
+ok(1);
+ok($objNb->getlocale, 'nb');
+
+$objNb->change(level => 1);
+
+ok($objNb->lt("z", $ae));
+ok($objNb->lt($ae, $ostk));
+ok($objNb->lt($ostk, $arng));
+ok($objNb->lt($arng, "\x{0292}"));
+
+# 6
+
+ok($objNb->eq('d', "\x{111}"));
+ok($objNb->eq("\x{111}", $eth));
+ok($objNb->eq('y', $uuml));
+ok($objNb->eq($uuml, "\x{0171}"));
+
+ok($objNb->eq($ae,   $auml));
+ok($objNb->eq($auml, "\x{119}"));
+ok($objNb->eq($ostk, $ouml));
+ok($objNb->eq($ouml, "\x{151}"));
+ok($objNb->eq("\x{151}", "\x{153}"));
+
+# 15
+
+$objNb->change(level => 2);
+
+ok($objNb->lt('d', "\x{111}"));
+ok($objNb->lt("\x{111}", $eth));
+ok($objNb->lt('y', $uuml));
+ok($objNb->lt($uuml, "\x{0171}"));
+
+ok($objNb->lt($ae,   $auml));
+ok($objNb->lt($auml, "\x{119}"));
+ok($objNb->lt($ostk, $ouml));
+ok($objNb->lt($ouml, "\x{151}"));
+ok($objNb->lt("\x{151}", "\x{153}"));
+
+# 24
+
+ok($objNb->eq("\x{111}", "\x{110}"));
+ok($objNb->eq($eth,  $ETH));
+ok($objNb->eq('th',  $thrn));
+ok($objNb->eq($thrn, 'TH'));
+ok($objNb->eq('TH',  $THRN));
+ok($objNb->eq($uuml, $Uuml));
+ok($objNb->eq("\x{171}", "\x{170}"));
+ok($objNb->eq($ae,   $AE));
+ok($objNb->eq($AE, "\x{1D2D}"));
+ok($objNb->eq($auml, $Auml));
+ok($objNb->eq("\x{119}", "\x{118}"));
+ok($objNb->eq($ostk, $Ostk));
+ok($objNb->eq($ouml, $Ouml));
+ok($objNb->eq("\x{151}", "\x{150}"));
+ok($objNb->eq("\x{153}", "\x{152}"));
+ok($objNb->eq($arng, $Arng));
+
+# 40
+
+$objNb->change(level => 3);
+
+ok($objNb->lt("\x{111}", "\x{110}"));
+ok($objNb->lt($eth,  $ETH));
+ok($objNb->lt('th',  $thrn));
+ok($objNb->lt($thrn, 'TH'));
+ok($objNb->lt('TH',  $THRN));
+ok($objNb->lt($uuml, $Uuml));
+ok($objNb->lt("\x{171}", "\x{170}"));
+ok($objNb->lt($ae,   $AE));
+ok($objNb->lt($AE, "\x{1D2D}"));
+ok($objNb->lt($auml, $Auml));
+ok($objNb->lt("\x{119}", "\x{118}"));
+ok($objNb->lt($ostk, $Ostk));
+ok($objNb->lt($ouml, $Ouml));
+ok($objNb->lt("\x{151}", "\x{150}"));
+ok($objNb->lt("\x{153}", "\x{152}"));
+ok($objNb->lt($arng, $Arng));
+
+# 56
+
+ok($objNb->eq("d\x{335}", "\x{111}"));
+ok($objNb->eq("D\x{335}", "\x{110}"));
+ok($objNb->eq("u\x{308}", $uuml));
+ok($objNb->eq("U\x{308}", $Uuml));
+ok($objNb->eq("u\x{30B}", "\x{171}"));
+ok($objNb->eq("U\x{30B}", "\x{170}"));
+ok($objNb->eq("\x{1FD}", "$ae\x{301}"));
+ok($objNb->eq("\x{1FC}", "$AE\x{301}"));
+ok($objNb->eq("\x{1E3}", "$ae\x{304}"));
+ok($objNb->eq("\x{1E2}", "$AE\x{304}"));
+
+# 66
+
+ok($objNb->eq("a\x{308}", $auml));
+ok($objNb->eq("A\x{308}", $Auml));
+ok($objNb->eq("e\x{328}", "\x{119}"));
+ok($objNb->eq("E\x{328}", "\x{118}"));
+ok($objNb->eq("o\x{338}", $ostk));
+ok($objNb->eq("O\x{338}", $Ostk));
+ok($objNb->eq("o\x{338}\x{301}", "\x{1FF}"));
+ok($objNb->eq("O\x{338}\x{301}", "\x{1FE}"));
+ok($objNb->eq("o\x{308}", $ouml));
+ok($objNb->eq("O\x{308}", $Ouml));
+ok($objNb->eq("o\x{30B}", "\x{151}"));
+ok($objNb->eq("O\x{30B}", "\x{150}"));
+ok($objNb->eq("a\x{30A}", $arng));
+ok($objNb->eq("A\x{30A}", $Arng));
+ok($objNb->eq("A\x{30A}", "\x{212B}"));
+ok($objNb->eq("a\x{30A}\x{301}", "\x{1FB}"));
+ok($objNb->eq("A\x{30A}\x{301}", "\x{1FA}"));
+
+# 83
diff --git a/cpan/Unicode-Collate/t/loc_nn.t b/cpan/Unicode-Collate/t/loc_nn.t
new file mode 100644 (file)
index 0000000..87e0862
--- /dev/null
@@ -0,0 +1,140 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 83;
+
+my $eth  = pack 'U', 0xF0;
+my $ETH  = pack 'U', 0xD0;
+my $thrn = pack 'U', 0xFE;
+my $THRN = pack 'U', 0xDE;
+my $uuml = pack 'U', 0xFC;
+my $Uuml = pack 'U', 0xDC;
+my $ae   = pack 'U', 0xE6;
+my $AE   = pack 'U', 0xC6;
+my $auml = pack 'U', 0xE4;
+my $Auml = pack 'U', 0xC4;
+my $ostk = pack 'U', 0xF8;
+my $Ostk = pack 'U', 0xD8;
+my $ouml = pack 'U', 0xF6;
+my $Ouml = pack 'U', 0xD6;
+my $arng = pack 'U', 0xE5;
+my $Arng = pack 'U', 0xC5;
+
+my $objNn = Unicode::Collate::Locale->
+    new(locale => 'NN', normalization => undef);
+
+ok(1);
+ok($objNn->getlocale, 'nn');
+
+$objNn->change(level => 1);
+
+ok($objNn->lt("z", $ae));
+ok($objNn->lt($ae, $ostk));
+ok($objNn->lt($ostk, $arng));
+ok($objNn->lt($arng, "\x{0292}"));
+
+# 6
+
+ok($objNn->eq('d', "\x{111}"));
+ok($objNn->eq("\x{111}", $eth));
+ok($objNn->eq('y', $uuml));
+ok($objNn->eq($uuml, "\x{0171}"));
+
+ok($objNn->eq($ae,   $auml));
+ok($objNn->eq($auml, "\x{119}"));
+ok($objNn->eq($ostk, $ouml));
+ok($objNn->eq($ouml, "\x{151}"));
+ok($objNn->eq("\x{151}", "\x{153}"));
+
+# 15
+
+$objNn->change(level => 2);
+
+ok($objNn->lt('d', "\x{111}"));
+ok($objNn->lt("\x{111}", $eth));
+ok($objNn->lt('y', $uuml));
+ok($objNn->lt($uuml, "\x{0171}"));
+
+ok($objNn->lt($ae,   $auml));
+ok($objNn->lt($auml, "\x{119}"));
+ok($objNn->lt($ostk, $ouml));
+ok($objNn->lt($ouml, "\x{151}"));
+ok($objNn->lt("\x{151}", "\x{153}"));
+
+# 24
+
+ok($objNn->eq("\x{111}", "\x{110}"));
+ok($objNn->eq($eth,  $ETH));
+ok($objNn->eq('th',  $thrn));
+ok($objNn->eq($thrn, 'TH'));
+ok($objNn->eq('TH',  $THRN));
+ok($objNn->eq($uuml, $Uuml));
+ok($objNn->eq("\x{171}", "\x{170}"));
+ok($objNn->eq($ae,   $AE));
+ok($objNn->eq($AE, "\x{1D2D}"));
+ok($objNn->eq($auml, $Auml));
+ok($objNn->eq("\x{119}", "\x{118}"));
+ok($objNn->eq($ostk, $Ostk));
+ok($objNn->eq($ouml, $Ouml));
+ok($objNn->eq("\x{151}", "\x{150}"));
+ok($objNn->eq("\x{153}", "\x{152}"));
+ok($objNn->eq($arng, $Arng));
+
+# 40
+
+$objNn->change(level => 3);
+
+ok($objNn->lt("\x{111}", "\x{110}"));
+ok($objNn->lt($eth,  $ETH));
+ok($objNn->lt('th',  $thrn));
+ok($objNn->lt($thrn, 'TH'));
+ok($objNn->lt('TH',  $THRN));
+ok($objNn->lt($uuml, $Uuml));
+ok($objNn->lt("\x{171}", "\x{170}"));
+ok($objNn->lt($ae,   $AE));
+ok($objNn->lt($AE, "\x{1D2D}"));
+ok($objNn->lt($auml, $Auml));
+ok($objNn->lt("\x{119}", "\x{118}"));
+ok($objNn->lt($ostk, $Ostk));
+ok($objNn->lt($ouml, $Ouml));
+ok($objNn->lt("\x{151}", "\x{150}"));
+ok($objNn->lt("\x{153}", "\x{152}"));
+ok($objNn->lt($arng, $Arng));
+
+# 56
+
+ok($objNn->eq("d\x{335}", "\x{111}"));
+ok($objNn->eq("D\x{335}", "\x{110}"));
+ok($objNn->eq("u\x{308}", $uuml));
+ok($objNn->eq("U\x{308}", $Uuml));
+ok($objNn->eq("u\x{30B}", "\x{171}"));
+ok($objNn->eq("U\x{30B}", "\x{170}"));
+ok($objNn->eq("\x{1FD}", "$ae\x{301}"));
+ok($objNn->eq("\x{1FC}", "$AE\x{301}"));
+ok($objNn->eq("\x{1E3}", "$ae\x{304}"));
+ok($objNn->eq("\x{1E2}", "$AE\x{304}"));
+
+# 66
+
+ok($objNn->eq("a\x{308}", $auml));
+ok($objNn->eq("A\x{308}", $Auml));
+ok($objNn->eq("e\x{328}", "\x{119}"));
+ok($objNn->eq("E\x{328}", "\x{118}"));
+ok($objNn->eq("o\x{338}", $ostk));
+ok($objNn->eq("O\x{338}", $Ostk));
+ok($objNn->eq("o\x{338}\x{301}", "\x{1FF}"));
+ok($objNn->eq("O\x{338}\x{301}", "\x{1FE}"));
+ok($objNn->eq("o\x{308}", $ouml));
+ok($objNn->eq("O\x{308}", $Ouml));
+ok($objNn->eq("o\x{30B}", "\x{151}"));
+ok($objNn->eq("O\x{30B}", "\x{150}"));
+ok($objNn->eq("a\x{30A}", $arng));
+ok($objNn->eq("A\x{30A}", $Arng));
+ok($objNn->eq("A\x{30A}", "\x{212B}"));
+ok($objNn->eq("a\x{30A}\x{301}", "\x{1FB}"));
+ok($objNn->eq("A\x{30A}\x{301}", "\x{1FA}"));
+
+# 83
diff --git a/cpan/Unicode-Collate/t/loc_pl.t b/cpan/Unicode-Collate/t/loc_pl.t
new file mode 100644 (file)
index 0000000..3807449
--- /dev/null
@@ -0,0 +1,84 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 55;
+
+my $objPl = Unicode::Collate::Locale->
+    new(locale => 'PL', normalization => undef);
+
+ok(1);
+ok($objPl->getlocale, 'pl');
+
+$objPl->change(level => 1);
+
+ok($objPl->lt("a", "a\x{328}"));
+ok($objPl->gt("b", "a\x{328}"));
+ok($objPl->lt("c", "c\x{301}"));
+ok($objPl->gt("d", "c\x{301}"));
+ok($objPl->lt("e", "e\x{328}"));
+ok($objPl->gt("f", "e\x{328}"));
+ok($objPl->lt("l", "l\x{335}"));
+ok($objPl->gt("m", "l\x{335}"));
+ok($objPl->lt("n", "n\x{301}"));
+ok($objPl->gt("o", "n\x{301}"));
+ok($objPl->lt("o", "o\x{301}"));
+ok($objPl->gt("p", "o\x{301}"));
+ok($objPl->lt("s", "s\x{301}"));
+ok($objPl->gt("t", "s\x{301}"));
+ok($objPl->lt("z", "z\x{301}"));
+ok($objPl->lt("z\x{301}", "z\x{307}"));
+ok($objPl->lt("z\x{307}", "\x{292}")); # U+0292 EZH
+
+# 19
+
+$objPl->change(level => 2);
+
+ok($objPl->eq("a\x{328}", "A\x{328}"));
+ok($objPl->eq("c\x{301}", "C\x{301}"));
+ok($objPl->eq("e\x{328}", "E\x{328}"));
+ok($objPl->eq("l\x{335}", "L\x{335}"));
+ok($objPl->eq("n\x{301}", "N\x{301}"));
+ok($objPl->eq("o\x{301}", "O\x{301}"));
+ok($objPl->eq("s\x{301}", "S\x{301}"));
+ok($objPl->eq("z\x{301}", "Z\x{301}"));
+ok($objPl->eq("z\x{307}", "Z\x{307}"));
+
+# 28
+
+$objPl->change(level => 3);
+
+ok($objPl->lt("a\x{328}", "A\x{328}"));
+ok($objPl->lt("c\x{301}", "C\x{301}"));
+ok($objPl->lt("e\x{328}", "E\x{328}"));
+ok($objPl->lt("l\x{335}", "L\x{335}"));
+ok($objPl->lt("n\x{301}", "N\x{301}"));
+ok($objPl->lt("o\x{301}", "O\x{301}"));
+ok($objPl->lt("s\x{301}", "S\x{301}"));
+ok($objPl->lt("z\x{301}", "Z\x{301}"));
+ok($objPl->lt("z\x{307}", "Z\x{307}"));
+
+# 37
+
+ok($objPl->eq("a\x{328}", "\x{105}"));
+ok($objPl->eq("A\x{328}", "\x{104}"));
+ok($objPl->eq("c\x{301}", "\x{107}"));
+ok($objPl->eq("C\x{301}", "\x{106}"));
+ok($objPl->eq("e\x{328}", "\x{119}"));
+ok($objPl->eq("E\x{328}", "\x{118}"));
+ok($objPl->eq("l\x{335}", "\x{142}"));
+ok($objPl->eq("L\x{335}", "\x{141}"));
+ok($objPl->eq("n\x{301}", "\x{144}"));
+ok($objPl->eq("N\x{301}", "\x{143}"));
+ok($objPl->eq("o\x{301}", pack('U', 0xF3)));
+ok($objPl->eq("O\x{301}", pack('U', 0xD3)));
+ok($objPl->eq("s\x{301}", "\x{15B}"));
+ok($objPl->eq("S\x{301}", "\x{15A}"));
+ok($objPl->eq("z\x{301}", "\x{17A}"));
+ok($objPl->eq("Z\x{301}", "\x{179}"));
+ok($objPl->eq("z\x{307}", "\x{17C}"));
+ok($objPl->eq("Z\x{307}", "\x{17B}"));
+
+# 55
diff --git a/cpan/Unicode-Collate/t/loc_ro.t b/cpan/Unicode-Collate/t/loc_ro.t
new file mode 100644 (file)
index 0000000..3305197
--- /dev/null
@@ -0,0 +1,83 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 51;
+
+my $objRo = Unicode::Collate::Locale->
+    new(locale => 'RO', normalization => undef);
+
+ok(1);
+ok($objRo->getlocale, 'ro');
+
+$objRo->change(level => 1);
+
+ok($objRo->lt("a", "a\x{306}"));
+ok($objRo->lt("a\x{306}", "a\x{302}"));
+ok($objRo->gt("b", "a\x{302}"));
+ok($objRo->lt("d", "d\x{335}"));
+ok($objRo->gt("e", "d\x{335}"));
+ok($objRo->lt("i", "i\x{302}"));
+ok($objRo->gt("j", "i\x{302}"));
+ok($objRo->lt("s", "s\x{327}"));
+ok($objRo->gt("t", "s\x{327}"));
+ok($objRo->lt("t", "t\x{327}"));
+ok($objRo->gt("u", "t\x{327}"));
+ok($objRo->lt("z", "z\x{307}"));
+ok($objRo->lt("z\x{307}", "\x{292}")); # U+0292 EZH
+
+# 15
+
+$objRo->change(level => 2);
+
+ok($objRo->eq("a\x{306}", "A\x{306}"));
+ok($objRo->eq("a\x{302}", "A\x{302}"));
+ok($objRo->eq("d\x{335}", "D\x{335}"));
+ok($objRo->eq("i\x{302}", "I\x{302}"));
+ok($objRo->eq("s\x{327}", "S\x{327}"));
+ok($objRo->eq("t\x{327}", "T\x{327}"));
+ok($objRo->eq("z\x{307}", "Z\x{307}"));
+
+# 22
+
+$objRo->change(level => 3);
+
+ok($objRo->lt("a\x{306}", "A\x{306}"));
+ok($objRo->lt("a\x{302}", "A\x{302}"));
+ok($objRo->lt("d\x{335}", "D\x{335}"));
+ok($objRo->lt("i\x{302}", "I\x{302}"));
+ok($objRo->lt("s\x{327}", "S\x{327}"));
+ok($objRo->lt("t\x{327}", "T\x{327}"));
+ok($objRo->lt("z\x{307}", "Z\x{307}"));
+
+# 29
+
+ok($objRo->eq("a\x{306}", "\x{103}"));
+ok($objRo->eq("A\x{306}", "\x{102}"));
+ok($objRo->eq("a\x{302}", pack('U', 0xE2)));
+ok($objRo->eq("A\x{302}", pack('U', 0xC2)));
+ok($objRo->eq("d\x{335}", "\x{111}"));
+ok($objRo->eq("D\x{335}", "\x{110}"));
+ok($objRo->eq("i\x{302}", pack('U', 0xEE)));
+ok($objRo->eq("I\x{302}", pack('U', 0xCE)));
+ok($objRo->eq("s\x{327}", "\x{15F}"));
+ok($objRo->eq("s\x{326}", "\x{219}"));
+ok($objRo->eq("S\x{327}", "\x{15E}"));
+ok($objRo->eq("S\x{326}", "\x{218}"));
+ok($objRo->eq("t\x{327}", "\x{163}"));
+ok($objRo->eq("t\x{326}", "\x{21B}"));
+ok($objRo->eq("T\x{327}", "\x{162}"));
+ok($objRo->eq("T\x{326}", "\x{21A}"));
+ok($objRo->eq("z\x{307}", "\x{17C}"));
+ok($objRo->eq("Z\x{307}", "\x{17B}"));
+
+# 47
+
+ok($objRo->eq("s\x{327}", "s\x{326}"));
+ok($objRo->eq("S\x{327}", "S\x{326}"));
+ok($objRo->eq("t\x{327}", "t\x{326}"));
+ok($objRo->eq("T\x{327}", "T\x{326}"));
+
+# 51
diff --git a/cpan/Unicode-Collate/t/loc_sv.t b/cpan/Unicode-Collate/t/loc_sv.t
new file mode 100644 (file)
index 0000000..7ffbe4f
--- /dev/null
@@ -0,0 +1,154 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 95;
+
+my $eth  = pack 'U', 0xF0;
+my $ETH  = pack 'U', 0xD0;
+my $thrn = pack 'U', 0xFE;
+my $THRN = pack 'U', 0xDE;
+my $uuml = pack 'U', 0xFC;
+my $Uuml = pack 'U', 0xDC;
+my $arng = pack 'U', 0xE5;
+my $Arng = pack 'U', 0xC5;
+my $auml = pack 'U', 0xE4;
+my $Auml = pack 'U', 0xC4;
+my $ae   = pack 'U', 0xE6;
+my $AE   = pack 'U', 0xC6;
+my $ouml = pack 'U', 0xF6;
+my $Ouml = pack 'U', 0xD6;
+my $ostk = pack 'U', 0xF8;
+my $Ostk = pack 'U', 0xD8;
+my $ocrc = pack 'U', 0xF4;
+my $Ocrc = pack 'U', 0xD4;
+
+my $objSv = Unicode::Collate::Locale->
+    new(locale => 'SV', normalization => undef);
+
+ok(1);
+ok($objSv->getlocale, 'sv');
+
+$objSv->change(level => 1);
+
+ok($objSv->lt('z', $arng));
+ok($objSv->lt($arng, $auml));
+ok($objSv->lt($auml, $ouml));
+ok($objSv->lt($ouml, "\x{0292}"));
+
+# 6
+
+ok($objSv->eq('d', "\x{111}"));
+ok($objSv->eq("\x{111}", $eth));
+ok($objSv->eq('y', $uuml));
+ok($objSv->eq($uuml, "\x{0171}"));
+
+ok($objSv->eq($auml, $ae));
+ok($objSv->eq($ae, "\x{119}"));
+ok($objSv->eq($ouml, $ostk));
+ok($objSv->eq($ostk, "\x{151}"));
+ok($objSv->eq("\x{151}", "\x{153}"));
+ok($objSv->eq("\x{153}", $ocrc));
+
+# 16
+
+$objSv->change(level => 2);
+
+ok($objSv->lt('d', "\x{111}"));
+ok($objSv->lt("\x{111}", $eth));
+ok($objSv->lt('y', $uuml));
+ok($objSv->lt($uuml, "\x{0171}"));
+
+ok($objSv->lt($auml, $ae));
+ok($objSv->lt($ae, "\x{119}"));
+ok($objSv->lt($ouml, $ostk));
+ok($objSv->lt($ostk, "\x{151}"));
+ok($objSv->lt("\x{151}", "\x{153}"));
+ok($objSv->lt("\x{153}", $ocrc));
+
+# 26
+
+ok($objSv->eq("\x{111}", "\x{110}"));
+ok($objSv->eq($eth,  $ETH));
+ok($objSv->eq('th',  $thrn));
+ok($objSv->eq($thrn, 'TH'));
+ok($objSv->eq('TH',  $THRN));
+ok($objSv->eq('v',   'w'));
+ok($objSv->eq('w',   'V'));
+ok($objSv->eq('V',   'W'));
+ok($objSv->eq($uuml, $Uuml));
+ok($objSv->eq("\x{171}", "\x{170}"));
+ok($objSv->eq($arng, $Arng));
+ok($objSv->eq($auml, $Auml));
+ok($objSv->eq($ae,   $AE));
+ok($objSv->eq($AE, "\x{1D2D}"));
+ok($objSv->eq("\x{119}", "\x{118}"));
+ok($objSv->eq($ouml, $Ouml));
+ok($objSv->eq($ostk, $Ostk));
+ok($objSv->eq("\x{151}", "\x{150}"));
+ok($objSv->eq("\x{153}", "\x{152}"));
+ok($objSv->eq($ocrc, $Ocrc));
+
+# 46
+
+$objSv->change(level => 3);
+
+ok($objSv->lt("\x{111}", "\x{110}"));
+ok($objSv->lt($eth,  $ETH));
+ok($objSv->lt('th',  $thrn));
+ok($objSv->lt($thrn, 'TH'));
+ok($objSv->lt('TH',  $THRN));
+ok($objSv->lt('v',   'w'));
+ok($objSv->lt('w',   'V'));
+ok($objSv->lt('V',   'W'));
+ok($objSv->lt($uuml, $Uuml));
+ok($objSv->lt("\x{171}", "\x{170}"));
+ok($objSv->lt($arng, $Arng));
+ok($objSv->lt($auml, $Auml));
+ok($objSv->lt($ae,   $AE));
+ok($objSv->lt($AE, "\x{1D2D}"));
+ok($objSv->lt("\x{119}", "\x{118}"));
+ok($objSv->lt($ouml, $Ouml));
+ok($objSv->lt($ostk, $Ostk));
+ok($objSv->lt("\x{151}", "\x{150}"));
+ok($objSv->lt("\x{153}", "\x{152}"));
+ok($objSv->lt($ocrc, $Ocrc));
+
+# 66
+
+ok($objSv->eq("d\x{335}", "\x{111}"));
+ok($objSv->eq("D\x{335}", "\x{110}"));
+ok($objSv->eq("u\x{308}", $uuml));
+ok($objSv->eq("U\x{308}", $Uuml));
+ok($objSv->eq("u\x{30B}", "\x{171}"));
+ok($objSv->eq("U\x{30B}", "\x{170}"));
+ok($objSv->eq("a\x{30A}", $arng));
+ok($objSv->eq("A\x{30A}", $Arng));
+ok($objSv->eq("A\x{30A}", "\x{212B}"));
+ok($objSv->eq("a\x{30A}\x{301}", "\x{1FB}"));
+ok($objSv->eq("A\x{30A}\x{301}", "\x{1FA}"));
+ok($objSv->eq("a\x{308}", $auml));
+ok($objSv->eq("A\x{308}", $Auml));
+
+# 79
+
+ok($objSv->eq("\x{1FD}", "$ae\x{301}"));
+ok($objSv->eq("\x{1FC}", "$AE\x{301}"));
+ok($objSv->eq("\x{1E3}", "$ae\x{304}"));
+ok($objSv->eq("\x{1E2}", "$AE\x{304}"));
+ok($objSv->eq("e\x{328}", "\x{119}"));
+ok($objSv->eq("E\x{328}", "\x{118}"));
+ok($objSv->eq("o\x{308}", $ouml));
+ok($objSv->eq("O\x{308}", $Ouml));
+ok($objSv->eq("o\x{338}", $ostk));
+ok($objSv->eq("O\x{338}", $Ostk));
+ok($objSv->eq("o\x{338}\x{301}", "\x{1FF}"));
+ok($objSv->eq("O\x{338}\x{301}", "\x{1FE}"));
+ok($objSv->eq("o\x{30B}", "\x{151}"));
+ok($objSv->eq("O\x{30B}", "\x{150}"));
+ok($objSv->eq("o\x{302}", $ocrc));
+ok($objSv->eq("O\x{302}", $Ocrc));
+
+# 95
diff --git a/cpan/Unicode-Collate/t/locale_cs.t b/cpan/Unicode-Collate/t/locale_cs.t
deleted file mode 100644 (file)
index 3cc51d1..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#!perl
-use strict;
-use warnings;
-use Unicode::Collate::Locale;
-
-use Test;
-plan tests => 50;
-
-my $objCs = Unicode::Collate::Locale->
-    new(locale => 'CS', normalization => undef);
-
-ok(1);
-ok($objCs->getlocale, 'cs');
-
-$objCs->change(level => 1);
-
-ok($objCs->lt("C", "C\x{30C}"));
-ok($objCs->lt("C", "c\x{30C}"));
-ok($objCs->gt("D", "C\x{30C}"));
-ok($objCs->gt("D", "c\x{30C}"));
-
-ok($objCs->lt("H", "ch"));
-ok($objCs->lt("H", "cH"));
-ok($objCs->lt("H", "Ch"));
-ok($objCs->lt("H", "CH"));
-
-ok($objCs->gt("I", "ch"));
-ok($objCs->gt("I", "cH"));
-ok($objCs->gt("I", "Ch"));
-ok($objCs->gt("I", "CH"));
-
-ok($objCs->lt("R", "R\x{30C}"));
-ok($objCs->lt("R", "r\x{30C}"));
-ok($objCs->gt("S", "R\x{30C}"));
-ok($objCs->gt("S", "r\x{30C}"));
-
-ok($objCs->lt("S", "S\x{30C}"));
-ok($objCs->lt("S", "s\x{30C}"));
-ok($objCs->gt("T", "S\x{30C}"));
-ok($objCs->gt("T", "s\x{30C}"));
-
-ok($objCs->lt("Z", "Z\x{30C}"));
-ok($objCs->lt("Z", "z\x{30C}"));
-
-ok($objCs->gt("\x{188}", "C\x{30C}")); # c-hook > C-caron
-ok($objCs->gt("\x{188}", "c\x{30C}")); # c-hook > c-caron
-ok($objCs->gt("\x{1B6}", "Z\x{30C}")); # z-stroke > Z-caron
-ok($objCs->gt("\x{1B6}", "z\x{30C}")); # z-stroke > z-caron
-ok($objCs->gt("\x{1B5}", "Z\x{30C}")); # Z-stroke > Z-caron
-ok($objCs->gt("\x{1B5}", "z\x{30C}")); # Z-stroke > z-caron
-
-$objCs->change(level => 3);
-
-ok($objCs->lt("c\x{30C}", "\x{10C}"));
-ok($objCs->eq("c\x{30C}", "\x{10D}"));
-ok($objCs->eq("C\x{30C}", "\x{10C}"));
-ok($objCs->gt("C\x{30C}", "\x{10D}"));
-
-ok($objCs->lt("r\x{30C}", "\x{158}"));
-ok($objCs->eq("r\x{30C}", "\x{159}"));
-ok($objCs->eq("R\x{30C}", "\x{158}"));
-ok($objCs->gt("R\x{30C}", "\x{159}"));
-
-ok($objCs->lt("s\x{30C}", "\x{160}"));
-ok($objCs->eq("s\x{30C}", "\x{161}"));
-ok($objCs->eq("S\x{30C}", "\x{160}"));
-ok($objCs->gt("S\x{30C}", "\x{161}"));
-
-ok($objCs->lt("z\x{30C}", "\x{17D}"));
-ok($objCs->eq("z\x{30C}", "\x{17E}"));
-ok($objCs->eq("Z\x{30C}", "\x{17D}"));
-ok($objCs->gt("Z\x{30C}", "\x{17E}"));
-
-ok($objCs->lt("ch", "cH"));
-ok($objCs->lt("cH", "Ch"));
-ok($objCs->lt("Ch", "CH"));
-ok($objCs->lt("ch", "CH"));
-
diff --git a/cpan/Unicode-Collate/t/locale_nn.t b/cpan/Unicode-Collate/t/locale_nn.t
deleted file mode 100644 (file)
index 050c592..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-#!perl
-use strict;
-use warnings;
-use Unicode::Collate::Locale;
-
-use Test;
-plan tests => 104;
-
-my $objNn = Unicode::Collate::Locale->
-    new(locale => 'NN', normalization => undef);
-
-my $ae   = pack 'U', 0xE6;
-my $AE   = pack 'U', 0xC6;
-my $auml = pack 'U', 0xE4;
-my $Auml = pack 'U', 0xC4;
-my $ostk = pack 'U', 0xF8;
-my $Ostk = pack 'U', 0xD8;
-my $ouml = pack 'U', 0xF6;
-my $Ouml = pack 'U', 0xD6;
-my $arng = pack 'U', 0xE5;
-my $Arng = pack 'U', 0xC5;
-
-my $eth  = pack 'U', 0xF0;
-my $ETH  = pack 'U', 0xD0;
-my $thrn = pack 'U', 0xFE;
-my $THRN = pack 'U', 0xDE;
-my $uuml = pack 'U', 0xFC;
-my $Uuml = pack 'U', 0xDC;
-
-ok(1);
-ok($objNn->getlocale, 'nn');
-
-$objNn->change(level => 1);
-
-ok($objNn->lt("Z", $ae));
-ok($objNn->lt("Z", $AE));
-ok($objNn->lt($ae, $ostk));
-ok($objNn->lt($AE, $Ostk));
-ok($objNn->lt($ostk, $arng));
-ok($objNn->lt($Ostk, $Arng));
-ok($objNn->lt($arng, "\x{0292}"));
-ok($objNn->lt($Arng, "\x{0292}"));
-
-# 10
-
-ok($objNn->eq('d', "\x{0111}"));
-ok($objNn->eq('d', "\x{0110}"));
-ok($objNn->eq('d', $eth));
-ok($objNn->eq('d', $ETH));
-ok($objNn->eq('th', $thrn));
-ok($objNn->eq('th', $THRN));
-ok($objNn->eq('y', "\x{0171}"));
-ok($objNn->eq('y', "\x{0170}"));
-ok($objNn->eq('y', "u\x{0308}"));
-ok($objNn->eq('y', "U\x{0308}"));
-ok($objNn->eq('y', $uuml));
-ok($objNn->eq('y', $Uuml));
-ok($objNn->eq('y', "u\x{030B}"));
-ok($objNn->eq('y', "U\x{030B}"));
-
-# 24
-
-ok($objNn->eq($ae, $AE));
-ok($objNn->eq($ae, "\x{1D2D}"));
-ok($objNn->eq($ae, $auml));
-ok($objNn->eq($ae, $Auml));
-ok($objNn->eq($ae, "A\x{0308}"));
-ok($objNn->eq($ae, "a\x{0308}"));
-ok($objNn->eq($ostk, $Ostk));
-ok($objNn->eq($ostk, $ouml));
-ok($objNn->eq($ostk, $Ouml));
-ok($objNn->eq($ostk, "o\x{0308}"));
-ok($objNn->eq($ostk, "O\x{0308}"));
-ok($objNn->eq($ostk, "\x{0151}"));
-ok($objNn->eq($ostk, "\x{0150}"));
-ok($objNn->eq($ostk, "o\x{030B}"));
-ok($objNn->eq($ostk, "O\x{030B}"));
-ok($objNn->eq($arng, $Arng));
-ok($objNn->eq($arng, "a\x{030A}"));
-ok($objNn->eq($arng, "A\x{030A}"));
-ok($objNn->eq($arng, "\x{212B}"));
-
-# 43
-
-$objNn->change(level => 2);
-
-ok($objNn->lt('d', "\x{0111}"));
-ok($objNn->lt('d', "\x{0110}"));
-ok($objNn->lt('d', $eth));
-ok($objNn->lt('d', $ETH));
-ok($objNn->eq('th', $thrn));
-ok($objNn->eq('TH', $THRN));
-ok($objNn->lt('y', "\x{0171}"));
-ok($objNn->lt('y', "\x{0170}"));
-ok($objNn->lt('y', "u\x{0308}"));
-ok($objNn->lt('y', "U\x{0308}"));
-ok($objNn->lt('y', $uuml));
-ok($objNn->lt('y', $Uuml));
-ok($objNn->lt('y', "u\x{030B}"));
-ok($objNn->lt('y', "U\x{030B}"));
-
-ok($objNn->eq("\x{0111}", "\x{0110}"));
-ok($objNn->eq("\x{0171}", "\x{0170}"));
-ok($objNn->eq($eth,  $ETH));
-ok($objNn->eq($thrn, $THRN));
-ok($objNn->eq($uuml, $Uuml));
-
-# 62
-
-ok($objNn->eq($ae, $AE));
-ok($objNn->eq($ae, "\x{1D2D}"));
-ok($objNn->eq($auml, $Auml));
-ok($objNn->eq($ostk, $Ostk));
-ok($objNn->eq($ouml, $Ouml));
-ok($objNn->eq("\x{0151}", "\x{0150}"));
-ok($objNn->eq($ouml, "o\x{0308}"));
-ok($objNn->eq($Ouml, "O\x{0308}"));
-ok($objNn->lt($ostk, "o\x{030B}"));
-ok($objNn->lt($Ostk, "O\x{030B}"));
-ok($objNn->lt($ostk, "\x{0151}"));
-ok($objNn->lt($Ostk, "\x{0150}"));
-ok($objNn->eq($arng, $Arng));
-ok($objNn->eq($arng, "a\x{030A}"));
-ok($objNn->eq($arng, "A\x{030A}"));
-ok($objNn->eq($arng, "\x{212B}"));
-
-# 78
-
-$objNn->change(level => 3);
-
-ok($objNn->lt("\x{0111}", "\x{0110}"));
-ok($objNn->lt("\x{0171}", "\x{0170}"));
-ok($objNn->lt($eth,  $ETH));
-ok($objNn->lt('th', $thrn));
-ok($objNn->lt($thrn, 'TH'));
-ok($objNn->lt('TH', $THRN));
-ok($objNn->lt($uuml, $Uuml));
-
-ok($objNn->lt($ae, $AE));
-ok($objNn->lt($ae, "\x{1D2D}"));
-ok($objNn->lt($auml, $Auml));
-ok($objNn->lt($ostk, $Ostk));
-ok($objNn->lt($ouml, $Ouml));
-ok($objNn->lt($arng, $Arng));
-ok($objNn->lt("\x{01FD}", "\x{01FC}"));
-ok($objNn->lt("\x{01E3}", "\x{01E2}"));
-ok($objNn->lt("\x{01FF}", "\x{01FE}"));
-ok($objNn->lt("\x{0151}", "\x{0150}"));
-ok($objNn->lt("\x{01FB}", "\x{01FA}"));
-
-# 96
-
-ok($objNn->eq("\x{01FD}",   $ae."\x{0301}"));
-ok($objNn->eq("\x{01FC}",   $AE."\x{0301}"));
-ok($objNn->eq("\x{01E3}",   $ae."\x{0304}"));
-ok($objNn->eq("\x{01E2}",   $AE."\x{0304}"));
-ok($objNn->eq("\x{01FF}", $ostk."\x{0301}"));
-ok($objNn->eq("\x{01FE}", $Ostk."\x{0301}"));
-ok($objNn->eq("\x{01FB}", $arng."\x{0301}"));
-ok($objNn->eq("\x{01FA}", $Arng."\x{0301}"));
-
-# 104
diff --git a/cpan/Unicode-Collate/t/locale_pl.t b/cpan/Unicode-Collate/t/locale_pl.t
deleted file mode 100644 (file)
index 4daf7f3..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-#!perl
-use strict;
-use warnings;
-use Unicode::Collate::Locale;
-
-use Test;
-plan tests => 70;
-
-my $objPl = Unicode::Collate::Locale->
-    new(locale => 'PL', normalization => undef);
-
-ok(1);
-ok($objPl->getlocale, 'pl');
-
-$objPl->change(level => 1);
-
-ok($objPl->lt("A", "A\x{328}"));
-ok($objPl->lt("A", "a\x{328}"));
-ok($objPl->gt("B", "A\x{328}"));
-ok($objPl->gt("B", "a\x{328}"));
-
-ok($objPl->lt("C", "C\x{301}"));
-ok($objPl->lt("C", "c\x{301}"));
-ok($objPl->gt("D", "C\x{301}"));
-ok($objPl->gt("D", "c\x{301}"));
-
-ok($objPl->lt("E", "E\x{328}"));
-ok($objPl->lt("E", "e\x{328}"));
-ok($objPl->gt("F", "E\x{328}"));
-ok($objPl->gt("F", "e\x{328}"));
-
-ok($objPl->lt("L", "\x{142}"));
-ok($objPl->lt("L", "\x{141}"));
-ok($objPl->gt("M", "\x{142}"));
-ok($objPl->gt("M", "\x{141}"));
-
-ok($objPl->lt("N", "N\x{301}"));
-ok($objPl->lt("N", "n\x{301}"));
-ok($objPl->gt("O", "N\x{301}"));
-ok($objPl->gt("O", "n\x{301}"));
-
-ok($objPl->lt("O", "O\x{301}"));
-ok($objPl->lt("O", "o\x{301}"));
-ok($objPl->gt("P", "O\x{301}"));
-ok($objPl->gt("P", "o\x{301}"));
-
-ok($objPl->lt("S", "S\x{301}"));
-ok($objPl->lt("S", "s\x{301}"));
-ok($objPl->gt("T", "S\x{301}"));
-ok($objPl->gt("T", "s\x{301}"));
-
-ok($objPl->lt("Z", "Z\x{301}"));
-ok($objPl->lt("Z", "z\x{301}"));
-ok($objPl->lt("Z", "Z\x{307}"));
-ok($objPl->lt("Z", "z\x{307}"));
-
-ok($objPl->lt("Z\x{301}", "Z\x{307}"));
-ok($objPl->lt("Z\x{301}", "z\x{307}"));
-ok($objPl->lt("Z\x{307}", "\x{292}")); # U+0292 EZH
-ok($objPl->lt("Z\x{307}", "\x{292}"));
-
-$objPl->change(level => 3);
-
-ok($objPl->lt("a\x{328}", "\x{104}"));
-ok($objPl->eq("a\x{328}", "\x{105}"));
-ok($objPl->eq("A\x{328}", "\x{104}"));
-ok($objPl->gt("A\x{328}", "\x{105}"));
-
-ok($objPl->lt("c\x{301}", "\x{106}"));
-ok($objPl->eq("c\x{301}", "\x{107}"));
-ok($objPl->eq("C\x{301}", "\x{106}"));
-ok($objPl->gt("C\x{301}", "\x{107}"));
-
-ok($objPl->lt("e\x{328}", "\x{118}"));
-ok($objPl->eq("e\x{328}", "\x{119}"));
-ok($objPl->eq("E\x{328}", "\x{118}"));
-ok($objPl->gt("E\x{328}", "\x{119}"));
-
-ok($objPl->lt("n\x{301}", "\x{143}"));
-ok($objPl->eq("n\x{301}", "\x{144}"));
-ok($objPl->eq("N\x{301}", "\x{143}"));
-ok($objPl->gt("N\x{301}", "\x{144}"));
-
-ok($objPl->lt("o\x{301}", pack('U',0xD3)));
-ok($objPl->eq("o\x{301}", pack('U',0xF3)));
-ok($objPl->eq("O\x{301}", pack('U',0xD3)));
-ok($objPl->gt("O\x{301}", pack('U',0xF3)));
-
-ok($objPl->lt("s\x{301}", "\x{15A}"));
-ok($objPl->eq("s\x{301}", "\x{15B}"));
-ok($objPl->eq("S\x{301}", "\x{15A}"));
-ok($objPl->gt("S\x{301}", "\x{15B}"));
-
-ok($objPl->lt("z\x{301}", "\x{179}"));
-ok($objPl->eq("z\x{301}", "\x{17A}"));
-ok($objPl->eq("Z\x{301}", "\x{179}"));
-ok($objPl->gt("Z\x{301}", "\x{17A}"));
-
-ok($objPl->lt("z\x{307}", "\x{17B}"));
-ok($objPl->eq("z\x{307}", "\x{17C}"));
-ok($objPl->eq("Z\x{307}", "\x{17B}"));
-ok($objPl->gt("Z\x{307}", "\x{17C}"));
-
index 2843cd1..57ea033 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 BEGIN {
index ca2895b..0149f16 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 3f937e1..0977db9 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 897f98e..698802e 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 1829566..e987f8f 100644 (file)
@@ -4,6 +4,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index eb576d5..1a6bd64 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index 1ffe3e1..52d81d4 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;
index d0a55bd..44963f4 100644 (file)
@@ -5,6 +5,10 @@ BEGIN {
            "cannot stringify a Unicode code point\n";
        exit 0;
     }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
 }
 
 use Test;