import rt 3.4.6
[freeside.git] / rt / lib / t / regression / 06-mime_decoding.t
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4 use Test::More tests => 5;
5
6 use_ok("RT");
7
8 RT::LoadConfig();
9 RT::Init();
10
11 use_ok('RT::I18N');
12
13 diag q{'=' char in a leading part before an encoded part} if $ENV{TEST_VERBOSE};
14 {
15     my $str = 'key="plain"; key="=?UTF-8?B?0LzQvtC5X9GE0LDQudC7LmJpbg==?="';
16     is(
17         RT::I18N::DecodeMIMEWordsToUTF8($str),
18         'key="plain"; key="мой_файл.bin"',
19         "right decoding"
20     );
21 }
22
23 diag q{not compliant with standards, but MUAs send such field when attachment has non-ascii in name}
24     if $ENV{TEST_VERBOSE};
25 {
26     my $str = 'attachment; filename="=?UTF-8?B?0LzQvtC5X9GE0LDQudC7LmJpbg==?="';
27     is(
28         RT::I18N::DecodeMIMEWordsToUTF8($str),
29         'attachment; filename="мой_файл.bin"',
30         "right decoding"
31     );
32 }
33
34 diag q{'=' char in a trailing part after an encoded part} if $ENV{TEST_VERBOSE};
35 {
36     my $str = 'attachment; filename="=?UTF-8?B?0LzQvtC5X9GE0LDQudC7LmJpbg==?="; some_prop="value"';
37     is(
38         RT::I18N::DecodeMIMEWordsToUTF8($str),
39         'attachment; filename="мой_файл.bin"; some_prop="value"',
40         "right decoding"
41     );
42 }
43