From d347d48b49933462a77db530b1fd1b5750c7f546 Mon Sep 17 00:00:00 2001 From: dubesinhower Date: Mon, 7 Sep 2026 12:32:11 -0700 Subject: [PATCH] test(navigation): complete unavailable capability matrix --- crates/konnect-ipc/src/client.rs | 4 +++- crates/konnect-ipc/src/types.rs | 2 ++ crates/konnect-ipc/tests/mock_server_test.rs | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/crates/konnect-ipc/src/client.rs b/crates/konnect-ipc/src/client.rs index 2b5f4a6c..7fa613e9 100644 --- a/crates/konnect-ipc/src/client.rs +++ b/crates/konnect-ipc/src/client.rs @@ -3625,7 +3625,9 @@ fn editor_capabilities( mutate_selection: selection, activate_document: no_activation.clone(), activate_sheet: no_activation, - reveal_object: no_reveal, + reveal_object: no_reveal.clone(), + center_object: no_reveal.clone(), + fit_view: no_reveal, cross_probe: no_cross_probe, } } diff --git a/crates/konnect-ipc/src/types.rs b/crates/konnect-ipc/src/types.rs index e436bf5e..e10de0a7 100644 --- a/crates/konnect-ipc/src/types.rs +++ b/crates/konnect-ipc/src/types.rs @@ -46,6 +46,8 @@ pub struct IpcEditorCapabilities { pub activate_document: IpcCapability, pub activate_sheet: IpcCapability, pub reveal_object: IpcCapability, + pub center_object: IpcCapability, + pub fit_view: IpcCapability, pub cross_probe: IpcCapability, } diff --git a/crates/konnect-ipc/tests/mock_server_test.rs b/crates/konnect-ipc/tests/mock_server_test.rs index 7b8de461..4c90ff96 100644 --- a/crates/konnect-ipc/tests/mock_server_test.rs +++ b/crates/konnect-ipc/tests/mock_server_test.rs @@ -211,6 +211,23 @@ fn editor_state_observation_keeps_live_sheet_identity_and_unsupported_context_ho schematic.capabilities.observe_active_context.availability, konnect_ipc::IpcCapabilityAvailability::Unsupported ); + for capability in [ + &schematic.capabilities.activate_document, + &schematic.capabilities.activate_sheet, + &schematic.capabilities.reveal_object, + &schematic.capabilities.center_object, + &schematic.capabilities.fit_view, + ] { + assert_eq!( + capability.availability, + konnect_ipc::IpcCapabilityAvailability::Unsupported + ); + assert_eq!(capability.evidence_source, "konnect_bundled_kicad_protocol"); + assert!(capability + .reason + .as_deref() + .is_some_and(|reason| { reason.contains("no stable typed") })); + } let pcb = &state.editors[1]; assert_eq!(pcb.editor, konnect_ipc::IpcEditorKind::Pcb);