3 unless ('A' eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Normalize cannot pack a Unicode code point\n";
7 unless (0x41 == unpack('U', 'A')) {
8 print "1..0 # Unicode::Normalize cannot get a Unicode code point\n";
14 if ($ENV{PERL_CORE}) {
16 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
20 #########################
23 use Unicode::Normalize qw(:all);
25 unless (exists &Unicode::Normalize::bootstrap or 5.008 <= $]) {
26 print "1..0 # skipped: XSUB, or Perl 5.8.0 or later".
27 " needed for this test\n";
35 BEGIN { $| = 1; print "1..17\n"; }
38 my $p = my $r = shift;
41 $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
43 print $p ? "ok" : "not ok", ' ', ++$count, "\n";
50 my ($class, $instance) = @_;
51 return bless \$instance => $class;
53 sub FETCH { return ${$_[0]}++ }
54 sub STORE { return ${$_[0]} = $_[1] }
55 sub DESTROY { undef ${$_[0]} }
57 #########################
61 tie my $tie1, 'tiescalar', "123";
69 tie my $tie2, 'tiescalar', "256";
70 ok(normalize('NFD', $tie2), 256);
71 ok(normalize('NFC', $tie2), 257);
72 ok(normalize('NFKD', $tie2), 258);
73 ok(normalize('NFKC', $tie2), 259);
74 ok(normalize('FCD', $tie2), 260);
75 ok(normalize('FCC', $tie2), 261);
77 tie my $tie3, 'tiescalar', "315";
78 ok(decompose($tie3), 315);
79 ok(reorder($tie3), 316);
80 ok(compose($tie3), 317);
81 ok(composeContiguous($tie3), 318);