성운명 오류 문구 줄바꿈 · 옛 행성 그림 통일 · 광고 안내 모달 줄바꿈

This commit is contained in:
Sn-Kinos
2026-10-06 04:12:13 +09:00
parent 65f73280aa
commit 99b9bb8665
14 changed files with 114 additions and 34 deletions
+30
View File
@@ -0,0 +1,30 @@
import 'package:fancake/core/ui/app_dialog.dart' show keepWords;
import 'package:flutter/painting.dart';
import 'package:flutter_test/flutter_test.dart';
/// 10/6 실기기 D-4 — 광고 안내 모달 제목이 「얻으세 / 요.」로 낱말 중간에서 바뀌었다.
void main() {
test('줄은 공백에서만 바뀐다', () {
const text = '더 많은 기여의 기회를 얻으세요.';
final joined = keepWords(text);
expect(joined.replaceAll('⁠', ''), text);
// 여러 폭에서 줄 끝이 늘 공백 앞뒤다.
// 가장 긴 어절(「얻으세요.」)보다 넓은 폭만 — 그보다 좁으면 엔진이 어절 안을 끊는다.
for (var width = 160.0; width <= 400; width += 7) {
final painter = TextPainter(
text: TextSpan(text: joined, style: const TextStyle(fontSize: 25)),
textDirection: TextDirection.ltr,
)..layout(maxWidth: width);
for (final line in painter.computeLineMetrics().skip(1)) {
final start = painter
.getPositionForOffset(Offset(0, line.baseline - line.ascent + 1))
.offset;
expect(
start == 0 || joined[start - 1] == ' ',
isTrue,
reason: 'width $width: 「${joined.substring(start).replaceAll('⁠', '')}」',
);
}
}
});
}