0758f5e91d
* Add high-level api extensions for BleDevice and Characteristic * Add doc comments and move few files to utils * Add advance documentation * Make the high level APIs the new default in the readme * More readme cleanups * Add pair api, improve notifications apis and deprecate writeValue * Use highLevel apis in Example * Rename HighLevel isPaired api to hasPairing api * Update Readme * Rename low level readValue api to read and update Readme * Update UniversalBle to use new apis instead of deprecated internally * Split queueCommand and queueCommandWithoutTimeout * Split setNotifiable into subscribeNotifications, subscribeIndications and unsubscribe * Fix web imports * Update changelog * Switch back to isPaired Co-authored-by: Rohit Sangwan <rohitsangwan647@gmail.com> * Fix BleDevice toString method * Switch back to isPaired * Change peripheral to device * Rename cached to preferCached * Remove preferCached from discoverServices() * Update changelog * Use cached services * Add /// * Reverse withoutResponse to withResponse to avoid negation * Link to low level API * Move connectionState to public readme * Rename disableSubscriptions to unsubscribe * Improve documentation * Fix getService cache * Add NotFoundException --------- Co-authored-by: Foti Dim <foti@navideck.com>
33 lines
1.0 KiB
Dart
33 lines
1.0 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:universal_ble/src/utils/universal_ble_stream_controller.dart';
|
|
|
|
void main() {
|
|
group("Test UniversalBleStreamController", () {
|
|
test('Auto Dispose Stream', () {
|
|
var streamController = UniversalBleStreamController<int>();
|
|
expect(true, streamController.isClosed);
|
|
|
|
// Stream should auto initialize on first subscription
|
|
var subscription = streamController.stream.listen((data) {});
|
|
expect(false, streamController.isClosed);
|
|
|
|
streamController.add(1);
|
|
|
|
// Should auto close on cancelling last subscription
|
|
subscription.cancel();
|
|
expect(true, streamController.isClosed);
|
|
});
|
|
|
|
test('Get InitialEvent on listen', () async {
|
|
var streamController = UniversalBleStreamController<int>(
|
|
initialEvent: () async => 1,
|
|
);
|
|
expect(true, streamController.isClosed);
|
|
|
|
var firstValue = await streamController.stream.first;
|
|
expect(true, streamController.isClosed);
|
|
expect(1, firstValue);
|
|
});
|
|
});
|
|
}
|