3 unless ("A" eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Normalize " .
5 "cannot stringify a Unicode code point\n";
11 if ($ENV{PERL_CORE}) {
13 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
17 #########################
20 use Unicode::Normalize qw(:all);
22 unless (exists &Unicode::Normalize::bootstrap or 5.008 <= $]) {
23 print "1..0 # skipped: XSUB, or Perl 5.8.0 or later".
24 " needed for this test\n";
33 BEGIN { plan tests => 16 };
37 my ($class, $instance) = @_;
38 return bless \$instance => $class;
40 sub FETCH { return ${$_[0]}++ }
41 sub STORE { return ${$_[0]} = $_[1] }
42 sub DESTROY { undef ${$_[0]} }
44 #########################
48 tie my $tie1, 'tiescalar', "123";
56 tie my $tie2, 'tiescalar', "256";
57 ok(normalize('NFD', $tie2), 256);
58 ok(normalize('NFC', $tie2), 257);
59 ok(normalize('NFKD', $tie2), 258);
60 ok(normalize('NFKC', $tie2), 259);
61 ok(normalize('FCD', $tie2), 260);
62 ok(normalize('FCC', $tie2), 261);
64 tie my $tie3, 'tiescalar', "315";
65 ok(decompose($tie3), 315);
66 ok(reorder($tie3), 316);
67 ok(compose($tie3), 317);
68 ok(composeContiguous($tie3), 318);