1N/A#!./perl
1N/A
1N/ABEGIN {
1N/A chdir 't' if -d 't';
1N/A @INC = '../lib';
1N/A unless (find PerlIO::Layer 'perlio') {
1N/A print "1..0 # Skip: not perlio\n";
1N/A exit 0;
1N/A }
1N/A}
1N/A
1N/Arequire "./test.pl";
1N/A
1N/Aplan(tests => 15);
1N/A
1N/Amy $BOM = chr(0xFEFF);
1N/A
1N/Asub test {
1N/A my ($enc, $tag, $bom) = @_;
1N/A open(UTF_PL, ">:raw:encoding($enc)", "utf.pl")
1N/A or die "utf.pl($enc,$tag,$bom): $!";
1N/A print UTF_PL $BOM if $bom;
1N/A print UTF_PL "$tag\n";
1N/A close(UTF_PL);
1N/A my $got = do "./utf.pl";
1N/A is($got, $tag);
1N/A}
1N/A
1N/Atest("utf16le", 123, 1);
1N/Atest("utf16le", 1234, 1);
1N/Atest("utf16le", 12345, 1);
1N/Atest("utf16be", 123, 1);
1N/Atest("utf16be", 1234, 1);
1N/Atest("utf16be", 12345, 1);
1N/Atest("utf8", 123, 1);
1N/Atest("utf8", 1234, 1);
1N/Atest("utf8", 12345, 1);
1N/A
1N/Atest("utf16le", 123, 0);
1N/Atest("utf16le", 1234, 0);
1N/Atest("utf16le", 12345, 0);
1N/Atest("utf16be", 123, 0);
1N/Atest("utf16be", 1234, 0);
1N/Atest("utf16be", 12345, 0);
1N/A
1N/AEND {
1N/A 1 while unlink "utf.pl";
1N/A}