1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!./perl
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
unless (find PerlIO::Layer 'perlio') {
print "1..0 # Skip: not perlio\n";
exit 0;
}
if ($ENV{PERL_CORE_MINITEST}) {
print "1..0 # Skip: no dynamic loading on miniperl, no threads\n";
exit 0;
}
require Config; import Config;
if ($Config{'extensions'} !~ /\bEncode\b/) {
print "1..0 # Skip: Encode was not built\n";
exit 0;
}
}
require "./test.pl";
plan(tests => 15);
my $BOM = chr(0xFEFF);
sub test {
my ($enc, $tag, $bom) = @_;
open(UTF_PL, ">:raw:encoding($enc)", "utf.pl")
or die "utf.pl($enc,$tag,$bom): $!";
print UTF_PL $BOM if $bom;
print UTF_PL "$tag\n";
close(UTF_PL);
my $got = do "./utf.pl";
is($got, $tag);
}
test("utf16le", 123, 1);
test("utf16le", 1234, 1);
test("utf16le", 12345, 1);
test("utf16be", 123, 1);
test("utf16be", 1234, 1);
test("utf16be", 12345, 1);
test("utf8", 123, 1);
test("utf8", 1234, 1);
test("utf8", 12345, 1);
test("utf16le", 123, 0);
test("utf16le", 1234, 0);
test("utf16le", 12345, 0);
test("utf16be", 123, 0);
test("utf16be", 1234, 0);
test("utf16be", 12345, 0);
END {
1 while unlink "utf.pl";
}
|