mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-06-14 22:55:12 +10:00
Refactor USB port handling to introduce display labels and improve state management
This commit is contained in:
committed by
just-stuff-tm
parent
a0feb129e1
commit
5216e00807
@@ -21,6 +21,7 @@ class _FakeMeshCoreConnector extends MeshCoreConnector {
|
||||
int connectUsbCalls = 0;
|
||||
String? lastConnectPortName;
|
||||
String? fakeActiveUsbPort;
|
||||
String? fakeActiveUsbPortDisplayLabel;
|
||||
bool fakeUsbTransportConnected = false;
|
||||
|
||||
@override
|
||||
@@ -29,6 +30,10 @@ class _FakeMeshCoreConnector extends MeshCoreConnector {
|
||||
@override
|
||||
String? get activeUsbPort => fakeActiveUsbPort;
|
||||
|
||||
@override
|
||||
String? get activeUsbPortDisplayLabel =>
|
||||
fakeActiveUsbPortDisplayLabel ?? fakeActiveUsbPort;
|
||||
|
||||
@override
|
||||
bool get isUsbTransportConnected => fakeUsbTransportConnected;
|
||||
|
||||
@@ -99,6 +104,33 @@ void main() {
|
||||
},
|
||||
);
|
||||
|
||||
testWidgets(
|
||||
'UsbScreen keeps raw selection while showing connector USB display label',
|
||||
(tester) async {
|
||||
final connector = _FakeMeshCoreConnector(
|
||||
ports: <String>['COM6 - USB Serial Device (COM6)'],
|
||||
);
|
||||
|
||||
await tester.pumpWidget(
|
||||
_buildTestApp(connector: connector, child: const UsbScreen()),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
connector.fakeActiveUsbPortDisplayLabel =
|
||||
'COM6 - KD3CGK mesh-utility.org';
|
||||
connector.notifyListeners();
|
||||
await tester.pump();
|
||||
|
||||
expect(find.text('KD3CGK mesh-utility.org'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Connect'));
|
||||
await tester.pump();
|
||||
|
||||
expect(connector.connectUsbCalls, 1);
|
||||
expect(connector.lastConnectPortName, 'COM6');
|
||||
},
|
||||
);
|
||||
|
||||
testWidgets('ConnectionChoiceScreen USB button reflects platform support', (
|
||||
tester,
|
||||
) async {
|
||||
|
||||
Reference in New Issue
Block a user