You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.6 KiB
41 lines
1.6 KiB
import 'package:eaimar/devices/holder/holder_device_service.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
group('isAllowedHolderName —— 广播名准入校验', () {
|
|
// 名字对不上的固件不是正式产品,服务端的 MAC 校验同样过不了,
|
|
// 连上只会让用户以为设备可用、然后在设备管理页找不到它。
|
|
test('规定的名字放行', () {
|
|
expect(isAllowedHolderName('EaiRec'), isTrue);
|
|
expect(isAllowedHolderName('EAIMAR'), isTrue);
|
|
expect(isAllowedHolderName('Pad Note'), isTrue);
|
|
});
|
|
|
|
test('大小写与空白不影响判定(固件写法不一定规范)', () {
|
|
expect(isAllowedHolderName(' eairec '), isTrue);
|
|
expect(isAllowedHolderName('EAIREC'), isTrue);
|
|
});
|
|
|
|
test('带批次后缀的广播名放行', () {
|
|
expect(isAllowedHolderName('EaiRec-3F2A'), isTrue);
|
|
});
|
|
|
|
// ⚠️ 这条是本次改动的重点:旧固件名不再被接纳,也不做归一映射。
|
|
// 归一等于接纳不合规固件、把失败推到服务端再发生一次。
|
|
test('旧固件名 Echomeet 一律拒绝', () {
|
|
expect(isAllowedHolderName('Echomeet'), isFalse);
|
|
expect(isAllowedHolderName('echomeet'), isFalse);
|
|
expect(isAllowedHolderName('Echomeet-3F2A'), isFalse);
|
|
});
|
|
|
|
test('空名字拒绝,不要放行', () {
|
|
expect(isAllowedHolderName(''), isFalse);
|
|
expect(isAllowedHolderName(' '), isFalse);
|
|
});
|
|
|
|
test('无关设备拒绝', () {
|
|
expect(isAllowedHolderName('Echo-one'), isFalse);
|
|
expect(isAllowedHolderName('Smartcar'), isFalse);
|
|
});
|
|
});
|
|
}
|
|
|