feat: 5.0.0 (#35)
* draft: 临时提交 * feat: 实现扫描功能 * fix: 优化广播逻辑 * feat: 添加协程方法 * fix: 修改宏定义 * draft: 临时提交 * feat: 调整接口 * fix: 修改版本号 * feat: 4.1.1 * draft: 临时提交 * feat: 5.0.0-dev.2 * fix: 修复版本号错误 * draft: 临时提交 * fix: 修复连接断开异常 * fix: 修复问题 * fix: 优化代码 * fix: 优化 short UUID 格式化逻辑 * fix: 尝试实现 read_rssi 接口,当前此接口不可用,会报异常 * feat: 删除 getMaximumWriteLength 方法 * fix: 更新 CHANGELOG.md * feat: 5.0.0-dev.1 * fix: 更新依赖项 * feat: linux-5.0.0-dev.1 * fix: 更新 CHANGELOG.md * fix: 开始搜索设备时清空设备列表 * fix: 开始扫描时清空设备列表 * feat: 5.0.0-dev.2 * fix: 优化 MyGattService 和 MyGattCharacteristic * feat: 更新 interface 版本 -> 5.0.0-dev.4 * feat: 更新 interface 版本 -> 5.0.0-dev.4 * feat: 实现 flutter 部分 5.0.0 * fix: 移除 maximumWriteLength * fix: 移除 rssi * feat: 5.0.0-dev.1 * feat: 5.0.0-dev.2 * fix: 更新依赖项 * fix: 5.0.0-dev.4 * fix: 更新依赖项 * draft: 临时提交 * feat: 5.0.0-dev.5 * draft: 删除 MyCentralManager 和 MyPeripheralManager * fix: 更新依赖项 * fix: 更新依赖项 * feat: 适配新接口 * feat: 5.0.0-dev.6 * draft: 临时提交 * feat: 5.0.0-dev.7 * fix: 修改版本号 * feat: 5.0.0-dev.8 * feat: 5.0.0-dev.9 * fix: 修复 trimGATT 错误 * feat: 5.0.0-dev.6 * feat: 5.0.0-dev.3 * feat: 5.0.0-dev.4 * fix: 更新 pubspec.lock * feat: 5.0.0-dev.7 * feat: 5.0.0-dev.3 * fix: balabala * fix: balabala * draft: 5.0.0-dev.1 * fix: trim GATT when call the `writeCharacteristic` method. * fix: make difference of `trim` and `fragment`. * feat: 5.0.0-dev.1 * feat: 5.0.0-dev.1 * feat: 优化示例程序 * fix: 更新 README.md * fix: 修复插件引用 * draft: XXXX * feat: 增加调试信息 * fix: 更新 pubspec.lock * feat: 5.0.0-dev.4 * feat: 5.0.0-dev.3 * feat: 5.0.0 * feat: 5.0.0 * feat: 5.0.0 * feat: 5.0.0 * feat: 5.0.0 * feat: 5.0.0
This commit is contained in:
@ -0,0 +1,46 @@
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:bluetooth_low_energy_platform_interface/bluetooth_low_energy_platform_interface.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
test(
|
||||
'Trim when value is empty.',
|
||||
() {
|
||||
final value = Uint8List.fromList([]);
|
||||
final actual = value.trimGATT();
|
||||
final matcher = value;
|
||||
expect(actual, matcher);
|
||||
},
|
||||
);
|
||||
test(
|
||||
'Trim when value is 100 bytes.',
|
||||
() {
|
||||
final elements = List.generate(100, (i) => i % 0xff);
|
||||
final value = Uint8List.fromList(elements);
|
||||
final actual = value.trimGATT();
|
||||
final matcher = value;
|
||||
expect(actual, matcher);
|
||||
},
|
||||
);
|
||||
test(
|
||||
'Trim when value is 512 bytes.',
|
||||
() {
|
||||
final elements = List.generate(512, (i) => i % 0xff);
|
||||
final value = Uint8List.fromList(elements);
|
||||
final actual = value.trimGATT();
|
||||
final matcher = value;
|
||||
expect(actual, matcher);
|
||||
},
|
||||
);
|
||||
test(
|
||||
'Trim when value is 1000 bytes.',
|
||||
() {
|
||||
final elements = List.generate(1000, (i) => i % 0xff);
|
||||
final value = Uint8List.fromList(elements);
|
||||
final actual = value.trimGATT();
|
||||
final matcher = Uint8List.fromList(elements.take(512).toList());
|
||||
expect(actual, matcher);
|
||||
},
|
||||
);
|
||||
}
|
23
bluetooth_low_energy_platform_interface/test/uuid_test.dart
Normal file
23
bluetooth_low_energy_platform_interface/test/uuid_test.dart
Normal file
@ -0,0 +1,23 @@
|
||||
import 'package:bluetooth_low_energy_platform_interface/bluetooth_low_energy_platform_interface.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
test(
|
||||
'Create UUID form MAC address with colons.',
|
||||
() {
|
||||
const address = 'AA:BB:CC:DD:EE:FF';
|
||||
final actual = UUID.fromAddress(address);
|
||||
final matcher = UUID.fromString('00000000-0000-0000-0000-AABBCCDDEEFF');
|
||||
expect(actual, matcher);
|
||||
},
|
||||
);
|
||||
test(
|
||||
'Create UUID form MAC address without colons.',
|
||||
() {
|
||||
const address = 'AABBCCDDEEFF';
|
||||
final actual = UUID.fromAddress(address);
|
||||
final matcher = UUID.fromString('00000000-0000-0000-0000-AABBCCDDEEFF');
|
||||
expect(actual, matcher);
|
||||
},
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user