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