12 # Some tests for UTF8 and format/write
14 our ($bitem1, $uitem1) = ("\x{ff}", "\x{100}");
15 our ($bitem2, $uitem2) = ("\x{fe}", "\x{101}");
16 our ($blite1, $ulite1) = ("\x{fd}", "\x{102}");
17 our ($blite2, $ulite2) = ("\x{fc}", "\x{103}");
18 our ($bmulti, $umulti) = ("\x{fb}\n\x{fa}\n\x{f9}\n",
19 "\x{104}\n\x{105}\n\x{106}\n");
23 my ($out, $format, $expect, $name) = @_;
24 eval "format $out =\n$format.\n"; die $@ if $@;
25 open $out, '>:utf8', 'Uni_write.tmp' or die "Can't create Uni_write.tmp";
27 close $out or die "Could not close $out: $!";
29 open UIN, '<:utf8', 'Uni_write.tmp' or die "Can't open Uni_write.tmp";;
30 my $result = do { local $/; <UIN>; };
33 is($result, $expect, $name);
36 fmwrtest OUT1 => <<EOFORMAT, <<EOEXPECT, "non-UTF8 literal / UTF8 item (1)";
46 fmwrtest OUT2 => <<EOFORMAT, <<EOEXPECT, "non-UTF8 literal / UTF8 item (2)";
56 fmwrtest OUT3 => <<EOFORMAT, <<EOEXPECT, "UTF8 literal / non-UTF8 item (1)";
66 fmwrtest OUT4 => <<EOFORMAT, <<EOEXPECT, "UTF8 literal / non-UTF8 item (2)";
76 fmwrtest OUT5 => <<EOFORMAT, <<EOEXPECT, "non-UTF8 literal / UTF8 multiline";
86 fmwrtest OUT6 => <<EOFORMAT, <<EOEXPECT, "UTF8 literal / non-UTF8 multiline";
96 unlink 'Uni_write.tmp';