diff --git a/flutter/lib/features/mail/domain/compose_draft_body.dart b/flutter/lib/features/mail/domain/compose_draft_body.dart index 528b37f..c32e8ad 100644 --- a/flutter/lib/features/mail/domain/compose_draft_body.dart +++ b/flutter/lib/features/mail/domain/compose_draft_body.dart @@ -267,7 +267,7 @@ List? _plainParagraphLines(dom.Element paragraph) { final List lines = []; for (final dom.Node child in paragraph.nodes) { if (child is dom.Text) { - current.write(child.data.replaceAll(' ', ' ')); + current.write(child.data.replaceAll('\u00A0', ' ')); } else if (child is dom.Element && child.localName == 'br') { lines.add(current.toString()); current.clear(); @@ -381,7 +381,7 @@ ComposeQuote composeQuoteOf(dom.Element blockquote, {required bool keepHtml}) { List _cellsOf(dom.Element row) => [ for (final dom.Element cell in row.children) if (cell.localName == 'td' || cell.localName == 'th') - nodeTextOf(cell).replaceAll(' ', ' ').trim(), + nodeTextOf(cell).replaceAll('\u00A0', ' ').trim(), ]; /// 보낸 사람 머리 줄의 이름 — `이도윤 ` → "이도윤" (이름이 없으면 주소) diff --git a/flutter/test/features/mail/compose_rules_test.dart b/flutter/test/features/mail/compose_rules_test.dart index 9ef1055..9efeba3 100644 --- a/flutter/test/features/mail/compose_rules_test.dart +++ b/flutter/test/features/mail/compose_rules_test.dart @@ -16,7 +16,7 @@ import 'package:flutter_test/flutter_test.dart'; import '../../support/mail_fakes.dart'; -const String _nbsp = ' '; +const String _nbsp = '\u00A0'; const String _wrapper = '
'; const String _p = '

'; diff --git a/flutter/test/features/mail/mail_reader_rules_test.dart b/flutter/test/features/mail/mail_reader_rules_test.dart index 0304052..dc39a53 100644 --- a/flutter/test/features/mail/mail_reader_rules_test.dart +++ b/flutter/test/features/mail/mail_reader_rules_test.dart @@ -156,7 +156,7 @@ void main() { expect(safeFileName(r'a\b:c*d?e"fh|i.txt'), 'a_b_c_d_e_f_g_h_i.txt'); expect(safeFileName('보고\u0000서\u001F.pdf'), '보고서.pdf'); expect(safeFileName('invoice\u202Efdp.exe'), 'invoicefdp.exe'); - expect(safeFileName('​견적.xlsx'), '견적.xlsx'); + expect(safeFileName('\u200B\uFEFF견적.xlsx'), '견적.xlsx'); }); test('앞뒤 공백 · 점을 지우고, 비면 기본 이름', () {