15759b3d2Safresh1 25759b3d2Safresh1BEGIN { 35759b3d2Safresh1 if ($ENV{PERL_CORE}) { 45759b3d2Safresh1 chdir('t') if -d 't'; 55759b3d2Safresh1 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); 65759b3d2Safresh1 } 75759b3d2Safresh1} 85759b3d2Safresh1 95759b3d2Safresh1######################### 105759b3d2Safresh1 115759b3d2Safresh1BEGIN { 125759b3d2Safresh1 use Unicode::Normalize qw(:all); 135759b3d2Safresh1 145759b3d2Safresh1 unless (exists &Unicode::Normalize::bootstrap or 5.008 <= $]) { 155759b3d2Safresh1 print "1..0 # skipped: XSUB, or Perl 5.8.0 or later". 165759b3d2Safresh1 " needed for this test\n"; 175759b3d2Safresh1 print $@; 185759b3d2Safresh1 exit; 195759b3d2Safresh1 } 205759b3d2Safresh1} 215759b3d2Safresh1 225759b3d2Safresh1use strict; 235759b3d2Safresh1use warnings; 245759b3d2Safresh1BEGIN { $| = 1; print "1..17\n"; } 255759b3d2Safresh1my $count = 0; 26*256a93a4Safresh1sub ok { Unicode::Normalize::ok(\$count, @_) } 275759b3d2Safresh1 285759b3d2Safresh1ok(1); 295759b3d2Safresh1 305759b3d2Safresh1package tiescalar; 315759b3d2Safresh1sub TIESCALAR { 325759b3d2Safresh1 my ($class, $instance) = @_; 335759b3d2Safresh1 return bless \$instance => $class; 345759b3d2Safresh1} 355759b3d2Safresh1sub FETCH { return ${$_[0]}++ } 365759b3d2Safresh1sub STORE { return ${$_[0]} = $_[1] } 375759b3d2Safresh1sub DESTROY { undef ${$_[0]} } 385759b3d2Safresh1 395759b3d2Safresh1######################### 405759b3d2Safresh1 415759b3d2Safresh1package main; 425759b3d2Safresh1 435759b3d2Safresh1tie my $tie1, 'tiescalar', "123"; 445759b3d2Safresh1ok(NFD($tie1), 123); 455759b3d2Safresh1ok(NFC($tie1), 124); 465759b3d2Safresh1ok(NFKD($tie1), 125); 475759b3d2Safresh1ok(NFKC($tie1), 126); 485759b3d2Safresh1ok(FCD($tie1), 127); 495759b3d2Safresh1ok(FCC($tie1), 128); 505759b3d2Safresh1 515759b3d2Safresh1tie my $tie2, 'tiescalar', "256"; 525759b3d2Safresh1ok(normalize('NFD', $tie2), 256); 535759b3d2Safresh1ok(normalize('NFC', $tie2), 257); 545759b3d2Safresh1ok(normalize('NFKD', $tie2), 258); 555759b3d2Safresh1ok(normalize('NFKC', $tie2), 259); 565759b3d2Safresh1ok(normalize('FCD', $tie2), 260); 575759b3d2Safresh1ok(normalize('FCC', $tie2), 261); 585759b3d2Safresh1 595759b3d2Safresh1tie my $tie3, 'tiescalar', "315"; 605759b3d2Safresh1ok(decompose($tie3), 315); 615759b3d2Safresh1ok(reorder($tie3), 316); 625759b3d2Safresh1ok(compose($tie3), 317); 635759b3d2Safresh1ok(composeContiguous($tie3), 318); 645759b3d2Safresh1 65