xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/t/comp/utf.t (revision 0:68f95e015346)
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