enough_mail
enough_mail copied to clipboard
Decoding header error
Test case
test/codecs/mail_codec_test.dart
import 'package:enough_mail/src/codecs/mail_codec.dart';
import 'package:test/test.dart';
// cSpell:disable
void main() {
// omitted
group('Decode header', () {
// omitted
test('decode header with mixed encodings', () {
const input =
'=?UTF-8?Q?Chyba_v_p=C5=99enosu_textu_z_formul=C3=A1=C5=99e_Operace_?='
' =?UTF-8?B?4oCTIHBsw6Fub3bDoW7DrSBkbyBmb3JtdWzDocWZZSBPcGVyYcSNbsOt?='
' =?UTF-8?Q?_program=2Edocx?=';
expect(MailCodec.decodeHeader(input),
'Chyba v přenosu textu z formuláře Operace – plánování do formuláře Operační program.docx');
});
});
}
Stack trace
FormatException: Invalid character (at character 65)
4oCTIHBsw6Fub3bDoW7DrSBkbyBmb3JtdWzDocWZZSBPcGVyYcSNbsOt_program=2Edocx=
^
dart:convert/base64.dart 705:7 _Base64Decoder.decodeChunk
dart:convert/base64.dart 629:14 _Base64Decoder.decode
dart:convert/base64.dart 509:26 Base64Decoder.convert
dart:convert/base64.dart 83:47 Base64Codec.decode
package:enough_mail/src/codecs/base64_mail_codec.dart 132:19 Base64MailCodec.decodeData
package:enough_mail/src/codecs/base64_mail_codec.dart 137:24 Base64MailCodec.decodeText
package:enough_mail/src/codecs/mail_codec.dart 243:30 MailCodec._decodeHeaderImpl
package:enough_mail/src/codecs/mail_codec.dart 209:5 MailCodec.decodeHeader
Cause
https://github.com/Enough-Software/enough_mail/blob/41ac9747836dc504e9261367207aab0af3601ca8/lib/src/codecs/mail_codec.dart#L203-L204