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