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