- 同步商城 H5 登录态与原生 token - 完善商城/原生 tab 切换、动画及返回交互 - 修复七鱼客服键盘避让和状态栏恢复 - 调整开屏跳过按钮与登录入口交互
40 lines
1.0 KiB
Dart
40 lines
1.0 KiB
Dart
import 'package:dsbridge_flutter/dsbridge_flutter.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:jinzhi_flutter_app/features/web/presentation/js_api.dart';
|
|
|
|
void main() {
|
|
test('close invokes the host callback and returns success', () {
|
|
var closeCalls = 0;
|
|
final handler = _FakeCompletionHandler();
|
|
final api = JsApi(onClose: () => closeCalls++);
|
|
|
|
api.close(null, handler);
|
|
|
|
expect(closeCalls, 1);
|
|
expect(handler.result, <String, dynamic>{'code': 0, 'message': 'success'});
|
|
});
|
|
|
|
test('coerces JSON mall state payloads', () {
|
|
expect(
|
|
coerceMallStateMap(
|
|
'{"ready":true,"activeTab":"market","canGoBack":false}',
|
|
),
|
|
<String, dynamic>{
|
|
'ready': true,
|
|
'activeTab': 'market',
|
|
'canGoBack': false,
|
|
},
|
|
);
|
|
});
|
|
}
|
|
|
|
class _FakeCompletionHandler implements CompletionHandler {
|
|
dynamic result;
|
|
|
|
@override
|
|
void complete([dynamic retValue]) => result = retValue;
|
|
|
|
@override
|
|
void setProgressData(dynamic value) {}
|
|
}
|