From 94da1d203142db885cdd90313e86ac0ab7b6b257 Mon Sep 17 00:00:00 2001 From: ttipo Date: Sat, 7 Nov 2026 04:22:19 +0900 Subject: [PATCH] =?UTF-8?q?style(flutter):=20=EC=86=8C=EC=8A=A4=EC=9D=98?= =?UTF-8?q?=20=EB=82=A0=EA=B2=83=20=EB=B3=B4=EC=9D=B4=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EB=8A=94=20=EA=B8=80=EC=9E=90=EB=A5=BC=20=EC=9D=B4=EC=8A=A4?= =?UTF-8?q?=EC=BC=80=EC=9D=B4=ED=94=84=EB=A1=9C=20=EC=A0=81=EB=8A=94?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nbsp(본문 코드 둘 · 시험 하나)와 폭 없는 공백 · BOM(시험 하나)이 소스에 그대로 있었다 — 눈에 보이지 않아 고치다 지우거나 잘못 옮기기 쉽다. flutter 스킬 규칙대로 \u 이스케이프로 바꾼다. 뜻은 같다. Co-Authored-By: Claude Opus 5.5 --- flutter/lib/features/mail/domain/compose_draft_body.dart | 4 ++-- flutter/test/features/mail/compose_rules_test.dart | 2 +- flutter/test/features/mail/mail_reader_rules_test.dart | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) 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('앞뒤 공백 · 점을 지우고, 비면 기본 이름', () {