feat(app): all album date displays date-only — formatAlbumDateTime drops HH:mm
相册列表卡/详情信息/分享页 meta/照片查看器日期一律纯日期(y/M/d)。 全量测试断言同步;397/397 全绿。 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -13,7 +13,7 @@ void main() {
|
||||
|
||||
test('UTC 瞬间按 Asia/Shanghai 展示(intl 格式化)', () {
|
||||
final utc = DateTime.utc(2026, 9, 18, 6, 30);
|
||||
expect(formatAlbumDateTime(utc, 'Asia/Shanghai', 'en'), '2026/9/18 14:30');
|
||||
expect(formatAlbumDateTime(utc, 'Asia/Shanghai', 'en'), '2026/9/18');
|
||||
});
|
||||
|
||||
test('非 Asia/Shanghai 时区亦按各自墙钟展示(America/New_York)', () {
|
||||
@@ -21,13 +21,13 @@ void main() {
|
||||
// 9 月为纽约夏令时 UTC-4 → 02:30。
|
||||
expect(
|
||||
formatAlbumDateTime(utc, 'America/New_York', 'en'),
|
||||
'2026/9/18 02:30',
|
||||
'2026/9/18',
|
||||
);
|
||||
});
|
||||
|
||||
test('无效时区回退 UTC 展示', () {
|
||||
final utc = DateTime.utc(2026, 9, 18, 6, 30);
|
||||
expect(formatAlbumDateTime(utc, 'Mars/Olympus', 'en'), '2026/9/18 06:30');
|
||||
expect(formatAlbumDateTime(utc, 'Mars/Olympus', 'en'), '2026/9/18');
|
||||
});
|
||||
|
||||
test('墙钟 → UTC 往返一致(表单提交与回显)', () {
|
||||
|
||||
@@ -126,7 +126,7 @@ void main() {
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(
|
||||
find.text('2026/9/18 14:30 ~ Not set (Asia/Shanghai) · 大宴会厅'),
|
||||
find.text('2026/9/18 ~ Not set (Asia/Shanghai) · 大宴会厅'),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.byIcon(Icons.image_outlined), findsOneWidget);
|
||||
|
||||
@@ -108,7 +108,7 @@ void main() {
|
||||
// 信息栏:上传者 / 相册时区墙钟·尺寸·大小 / 真实状态 / ID 诊断区。
|
||||
expect(find.text('Uploaded by Staff Two'), findsOneWidget);
|
||||
// uploadedAt 07:00Z → 相册时区上海 15:00;4000×3000 · 121 KB。
|
||||
expect(find.text('2026/9/18 15:00 · 4000×3000 · 121 KB'), findsOneWidget);
|
||||
expect(find.text('2026/9/18 · 4000×3000 · 121 KB'), findsOneWidget);
|
||||
expect(find.text('Status: Published'), findsOneWidget);
|
||||
expect(find.text('ph-info-1'), findsOneWidget);
|
||||
});
|
||||
|
||||
@@ -118,7 +118,7 @@ void main() {
|
||||
final title = tester.widget<Text>(find.text('Opening Gala'));
|
||||
expect(title.style?.color, Colors.white);
|
||||
final meta = tester.widget<Text>(
|
||||
find.text('2026/9/18 14:30 ~ Not set · 大宴会厅'),
|
||||
find.text('2026/9/18 ~ Not set · 大宴会厅'),
|
||||
);
|
||||
expect(meta.style?.color, Colors.white70);
|
||||
// 底部暗色渐变叠层存在(LinearGradient 的 DecoratedBox)。
|
||||
|
||||
@@ -64,7 +64,7 @@ void main() {
|
||||
// 标题按界面语言回退(en → en 翻译),最多两行。
|
||||
expect(find.text('Opening Gala'), findsOneWidget);
|
||||
// 时间用相册时区(上海墙钟 14:30)+ 场地(en 未填场地回退 zh-CN)。
|
||||
expect(find.text('2026/9/18 14:30 ~ Not set · 大宴会厅'), findsOneWidget);
|
||||
expect(find.text('2026/9/18 ~ Not set · 大宴会厅'), findsOneWidget);
|
||||
// 封面未配置 → 固定 16:9 中性占位(非转圈)。
|
||||
expect(find.byType(PhotoThumbnail), findsOneWidget);
|
||||
expect(find.byIcon(Icons.image_outlined), findsOneWidget);
|
||||
|
||||
@@ -59,7 +59,7 @@ void main() {
|
||||
// 名称与日期地点(en 回退:Opening Gala;上海墙钟 14:30)。
|
||||
expect(find.text('Opening Gala'), findsOneWidget);
|
||||
expect(
|
||||
find.text('2026/9/18 14:30 · 大宴会厅'),
|
||||
find.text('2026/9/18 · 大宴会厅'),
|
||||
findsOneWidget,
|
||||
reason: '开始时间(相册时区;结束未定不伪造区间)+ 场地(展示回退链)',
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user