Files
usb_serial/test/flutter_usb_serial_test.dart
T
Tony 17414656a9 Enhance USB serial plugin for Android and iPadOS with DriverKit support
- Updated README.md to reflect platform support for iPadOS.
- Implemented isDriverAvailable method in FlutterUsbSerialPlugin for DriverKit readiness check.
- Added DriverKitSerialClient C source and header files for iPadOS integration.
- Created Swift Package for iPadOS support.
- Updated pubspec.yaml and flutter_usb_serial.dart to clarify platform compatibility.
- Enhanced tests to verify isDriverAvailable functionality.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-08-01 20:40:46 +08:00

53 lines
1.6 KiB
Dart

import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_usb_serial/flutter_usb_serial.dart';
import 'package:flutter_usb_serial/flutter_usb_serial_method_channel.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
test('$MethodChannelFlutterUsbSerial can be constructed', () {
expect(
MethodChannelFlutterUsbSerial(),
isA<MethodChannelFlutterUsbSerial>(),
);
});
test('UsbSerialDevice maps fields from method channel payloads', () {
final device = UsbSerialDevice.fromMap({
'deviceId': 7,
'vendorId': 0x1234,
'productId': 0x5678,
'deviceName': 'Adapter',
'manufacturerName': 'Acme',
'serialNumber': 'SN-42',
});
expect(device.deviceId, 7);
expect(device.vendorId, 0x1234);
expect(device.productId, 0x5678);
expect(device.deviceName, 'Adapter');
expect(device.manufacturerName, 'Acme');
expect(device.serialNumber, 'SN-42');
expect(device.toMap()['deviceId'], 7);
});
test(
'isDriverAvailable forwards the native DriverKit readiness result',
() async {
const channel = MethodChannel('flutter_usb_serial/methods');
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(channel, (call) async {
expect(call.method, 'isDriverAvailable');
return true;
});
addTearDown(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(channel, null);
});
expect(await FlutterUsbSerial.isDriverAvailable(), isTrue);
},
);
}