From b87dd23c74fb260d2ca94f5f9947af9a6b030555 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Wed, 3 Jun 2026 20:06:44 +0800 Subject: [PATCH] feat(automation): advertise file.open in automation.version capabilities --- src/slic3r/GUI/Automation/JsonRpcDispatcher.cpp | 3 ++- tests/automation/test_dispatcher.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Automation/JsonRpcDispatcher.cpp b/src/slic3r/GUI/Automation/JsonRpcDispatcher.cpp index 5dfe9effbf..0897a12983 100644 --- a/src/slic3r/GUI/Automation/JsonRpcDispatcher.cpp +++ b/src/slic3r/GUI/Automation/JsonRpcDispatcher.cpp @@ -195,7 +195,8 @@ nlohmann::json JsonRpcDispatcher::m_version(const nlohmann::json&) { {"protocol", "2.0"}, {"capabilities", nlohmann::json::array({ "tree.dump","tree.find","widget.get","input.click","input.type", - "input.key","sync.wait_for","app.state","screenshot.window" })} }; + "input.key","sync.wait_for","app.state","screenshot.window", + "file.open" })} }; } nlohmann::json JsonRpcDispatcher::dispatch(const nlohmann::json& request) { diff --git a/tests/automation/test_dispatcher.cpp b/tests/automation/test_dispatcher.cpp index 86988e38e4..269c60bea0 100644 --- a/tests/automation/test_dispatcher.cpp +++ b/tests/automation/test_dispatcher.cpp @@ -257,3 +257,13 @@ TEST_CASE("file.open backend load failure -> 1007", "[automation][rpc]") { {"params",{{"paths","C:/abs/a.stl"}}}}); CHECK(resp.at("error").at("code") == kErrLoadFailed); } + +TEST_CASE("automation.version capabilities include file.open", "[automation][rpc]") { + MockUiBackend mock; + JsonRpcDispatcher d(mock); + const json resp = d.dispatch({{"jsonrpc","2.0"},{"id",1},{"method","automation.version"}}); + const auto& caps = resp.at("result").at("capabilities"); + bool found = false; + for (const auto& c : caps) if (c == "file.open") found = true; + CHECK(found); +}