1*0Sstevel@tonic-gate#!./perl 2*0Sstevel@tonic-gate 3*0Sstevel@tonic-gateBEGIN { 4*0Sstevel@tonic-gate chdir 't' if -d 't'; 5*0Sstevel@tonic-gate @INC = '../lib'; 6*0Sstevel@tonic-gate unless (find PerlIO::Layer 'perlio') { 7*0Sstevel@tonic-gate print "1..0 # Skip: not perlio\n"; 8*0Sstevel@tonic-gate exit 0; 9*0Sstevel@tonic-gate } 10*0Sstevel@tonic-gate} 11*0Sstevel@tonic-gate 12*0Sstevel@tonic-gaterequire "./test.pl"; 13*0Sstevel@tonic-gate 14*0Sstevel@tonic-gateplan(tests => 15); 15*0Sstevel@tonic-gate 16*0Sstevel@tonic-gatemy $BOM = chr(0xFEFF); 17*0Sstevel@tonic-gate 18*0Sstevel@tonic-gatesub test { 19*0Sstevel@tonic-gate my ($enc, $tag, $bom) = @_; 20*0Sstevel@tonic-gate open(UTF_PL, ">:raw:encoding($enc)", "utf.pl") 21*0Sstevel@tonic-gate or die "utf.pl($enc,$tag,$bom): $!"; 22*0Sstevel@tonic-gate print UTF_PL $BOM if $bom; 23*0Sstevel@tonic-gate print UTF_PL "$tag\n"; 24*0Sstevel@tonic-gate close(UTF_PL); 25*0Sstevel@tonic-gate my $got = do "./utf.pl"; 26*0Sstevel@tonic-gate is($got, $tag); 27*0Sstevel@tonic-gate} 28*0Sstevel@tonic-gate 29*0Sstevel@tonic-gatetest("utf16le", 123, 1); 30*0Sstevel@tonic-gatetest("utf16le", 1234, 1); 31*0Sstevel@tonic-gatetest("utf16le", 12345, 1); 32*0Sstevel@tonic-gatetest("utf16be", 123, 1); 33*0Sstevel@tonic-gatetest("utf16be", 1234, 1); 34*0Sstevel@tonic-gatetest("utf16be", 12345, 1); 35*0Sstevel@tonic-gatetest("utf8", 123, 1); 36*0Sstevel@tonic-gatetest("utf8", 1234, 1); 37*0Sstevel@tonic-gatetest("utf8", 12345, 1); 38*0Sstevel@tonic-gate 39*0Sstevel@tonic-gatetest("utf16le", 123, 0); 40*0Sstevel@tonic-gatetest("utf16le", 1234, 0); 41*0Sstevel@tonic-gatetest("utf16le", 12345, 0); 42*0Sstevel@tonic-gatetest("utf16be", 123, 0); 43*0Sstevel@tonic-gatetest("utf16be", 1234, 0); 44*0Sstevel@tonic-gatetest("utf16be", 12345, 0); 45*0Sstevel@tonic-gate 46*0Sstevel@tonic-gateEND { 47*0Sstevel@tonic-gate 1 while unlink "utf.pl"; 48*0Sstevel@tonic-gate} 49