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

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);
});
});
}