use strict; use warnings; use Test::More tests => 5; use MIME::Field::ContType; use MIME::WordDecoder; use Encode; # Trivial test { my $field = Mail::Field->new('Content-type'); isa_ok( $field, 'MIME::Field::ParamVal'); isa_ok( $field, 'Mail::Field'); $field->param('_', 'stuff'); $field->param('answer', 42); is( $field->stringify, 'stuff; answer="42"', 'Object stringified to expected value'); } # Test for CPAN RT #34451 { my $header = 'stuff; answer*=utf-8\'\'%c3%be%20%c3%bf'; my $field = Mail::Field->new('Content-type'); $field->parse( $header ); is( $field->param('_'), 'stuff', 'Got body of header'); # We get it back in UTF-8! my $expected = pack('CCCCC', 0xc3, 0xbe, 0x20, 0xc3, 0xbf); my $wd = supported MIME::WordDecoder 'UTF-8'; is( encode('utf8', $wd->decode($field->param('answer'))), $expected, 'answer param was unpacked correctly'); }