呼出/通话中按钮、计时器、底色、60s 未接与进出场动效对齐视觉规范。 Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
51 lines
2.1 KiB
Dart
51 lines
2.1 KiB
Dart
import 'dart:ui';
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:openim/company/brand/app_tokens.dart';
|
|
import 'package:openim/company/brand/apply_official_styles.dart';
|
|
import 'package:openim/company/rtc/call_session_guard.dart';
|
|
import 'package:openim/company/rtc/livekit_call_config.dart';
|
|
import 'package:openim_common/openim_common.dart';
|
|
|
|
void main() {
|
|
setUpAll(applyOfficialStylesFromTokens);
|
|
|
|
test('未接超时只有 60s 一个来源,不再出现 30s', () {
|
|
expect(AppDuration.callInviteTimeout, const Duration(seconds: 60));
|
|
expect(LiveKitCallConfig.inviteTimeout, AppDuration.callInviteTimeout);
|
|
expect(Styles.callInviteTimeout, AppDuration.callInviteTimeout);
|
|
expect(CallSessionGuard().inviteTimeout, AppDuration.callInviteTimeout);
|
|
});
|
|
|
|
test('通话页底色走 callBg #1D2129,不复用大图遮罩黑', () {
|
|
expect(AppColors.callBg, const Color(0xFF1D2129));
|
|
expect(AppColors.callBg, AppColors.textPrimary);
|
|
expect(Styles.c_callBg, AppColors.callBg);
|
|
expect(Styles.c_callBg, isNot(AppColors.maskBg));
|
|
expect(Styles.c_000000, AppColors.maskBg);
|
|
});
|
|
|
|
test('计时器 32px 纯白 tabular figures,状态字 14px 白 60%,姓名 18px', () {
|
|
expect(AppFont.callTimer, 32);
|
|
expect(Styles.ts_callTimer.fontSize, 32);
|
|
expect(Styles.ts_callTimer.color, AppColors.pageBg);
|
|
expect(Styles.ts_callTimer.fontFeatures, contains(FontFeature.tabularFigures()));
|
|
expect(Styles.ts_callStatus.fontSize, AppFont.sub);
|
|
expect(Styles.ts_callStatus.color, AppColors.pageBg.withOpacity(.6));
|
|
expect(Styles.ts_callName.fontSize, AppFont.title);
|
|
});
|
|
|
|
test('通话页尺寸与进出场动效来自 Token', () {
|
|
expect(Styles.callAvatar, 96);
|
|
expect(Styles.callPrimaryBtn, 64);
|
|
expect(Styles.callSecondaryBtn, 48);
|
|
expect(Styles.callIncomingGap, 96);
|
|
expect(Styles.callNameTop, 96);
|
|
expect(Styles.callMinimizeHit, 48);
|
|
expect(Styles.callPageMotion, const Duration(milliseconds: 250));
|
|
expect(Styles.callEndHold, const Duration(milliseconds: 1500));
|
|
expect(Styles.callVibrate, const Duration(seconds: 1));
|
|
expect(AppRadius.avatar(96), closeTo(17.28, 0.001));
|
|
});
|
|
}
|