Blame t/06utf.t

Packit 243254
use strict;
Packit 243254
use Test::More;
Packit 243254
Packit 243254
BEGIN {
Packit 243254
    if ($] < 5.007003) {
Packit 243254
	plan skip_all => 'Unicode/multibyte support is not enabled';
Packit 243254
    } else {
Packit 243254
	plan tests => 16;
Packit 243254
    }
Packit 243254
}
Packit 243254
Packit 243254
use MIME::Charset;
Packit 243254
Packit 243254
my $utf16 = MIME::Charset->new('utf-16');
Packit 243254
my $utf16be = MIME::Charset->new('utf-16be');
Packit 243254
my $utf16le = MIME::Charset->new('utf-16le');
Packit 243254
Packit 243254
ok($utf16->decode("\xD8\x08\xDF\x45") eq "\x{12345}");
Packit 243254
ok($utf16be->decode("\xD8\x08\xDF\x45") eq "\x{12345}");
Packit 243254
ok($utf16->decode("\xFE\xFF\xD8\x08\xDF\x45") eq "\x{12345}");
Packit 243254
ok($utf16le->decode("\x08\xD8\x45\xDF") eq "\x{12345}");
Packit 243254
ok($utf16->decode("\xFF\xFE\x08\xD8\x45\xDF") eq "\x{12345}");
Packit 243254
Packit 243254
ok($utf16->encode("\x{12345}") eq "\xFE\xFF\xD8\x08\xDF\x45");
Packit 243254
ok($utf16be->encode("\x{12345}") eq "\xD8\x08\xDF\x45");
Packit 243254
ok($utf16le->encode("\x{12345}") eq "\x08\xD8\x45\xDF");
Packit 243254
Packit 243254
my $utf32 = MIME::Charset->new('utf-32');
Packit 243254
my $utf32be = MIME::Charset->new('utf-32be');
Packit 243254
my $utf32le = MIME::Charset->new('utf-32le');
Packit 243254
Packit 243254
ok($utf32->decode("\x00\x01\x23\x45") eq "\x{12345}");
Packit 243254
ok($utf32be->decode("\x00\x01\x23\x45") eq "\x{12345}");
Packit 243254
ok($utf32->decode("\0\0\xFE\xFF\x00\x01\x23\x45") eq "\x{12345}");
Packit 243254
ok($utf32le->decode("\x45\x23\x01\x00") eq "\x{12345}");
Packit 243254
ok($utf32->decode("\xFF\xFE\0\0\x45\x23\x01\x00") eq "\x{12345}");
Packit 243254
Packit 243254
ok($utf32->encode("\x{12345}") eq "\0\0\xFE\xFF\x00\x01\x23\x45");
Packit 243254
ok($utf32be->encode("\x{12345}") eq "\x00\x01\x23\x45");
Packit 243254
ok($utf32le->encode("\x{12345}") eq "\x45\x23\x01\x00");