1
2BEGIN {
3    if ($ENV{PERL_CORE}) {
4	chdir('t') if -d 't';
5	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
6    }
7}
8
9use strict;
10use warnings;
11BEGIN { $| = 1; print "1..17\n"; }
12my $count = 0;
13sub ok ($;$) {
14    my $p = my $r = shift;
15    if (@_) {
16	my $x = shift;
17	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
18    }
19    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
20}
21
22use Unicode::Collate;
23
24ok(1);
25
26sub _pack_U   { Unicode::Collate::pack_U(@_) }
27sub _unpack_U { Unicode::Collate::unpack_U(@_) }
28
29#########################
30
31# Fix me when UCA and/or keys.txt is upgraded.
32my $UCA_Version = "43";
33my $Base_Unicode_Version = "13.0.0";
34my $Key_Version = "3.1.1";
35
36ok(Unicode::Collate::UCA_Version, $UCA_Version);
37ok(Unicode::Collate->UCA_Version, $UCA_Version);
38ok(Unicode::Collate::Base_Unicode_Version, $Base_Unicode_Version);
39ok(Unicode::Collate->Base_Unicode_Version, $Base_Unicode_Version);
40
41my $Collator = Unicode::Collate->new(
42  table => 'keys.txt',
43  normalization => undef,
44);
45
46ok($Collator->UCA_Version,   $UCA_Version);
47ok($Collator->UCA_Version(), $UCA_Version);
48ok($Collator->Base_Unicode_Version,   $Base_Unicode_Version);
49ok($Collator->Base_Unicode_Version(), $Base_Unicode_Version);
50ok($Collator->version,   $Key_Version);
51ok($Collator->version(), $Key_Version);
52
53my $UndefTable = Unicode::Collate->new(
54  table => undef,
55  normalization => undef,
56);
57
58ok($UndefTable->UCA_Version,   $UCA_Version);
59ok($UndefTable->UCA_Version(), $UCA_Version);
60ok($UndefTable->Base_Unicode_Version,   $Base_Unicode_Version);
61ok($UndefTable->Base_Unicode_Version(), $Base_Unicode_Version);
62ok($UndefTable->version,   "unknown");
63ok($UndefTable->version(), "unknown");
64
65