17414656a9
- 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>
53 lines
1.6 KiB
Dart
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);
|
|
},
|
|
);
|
|
}
|