From 7473ca4a75a5ae220bdd8819b52bfa6699618bff Mon Sep 17 00:00:00 2001 From: dajiaohuang Date: Tue, 8 Sep 2026 19:49:50 +0800 Subject: [PATCH] Fix scoped external search shortcuts --- assets/javascripts/views/search/search.js | 2 +- test/assets/search_hash_test.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/views/search/search.js b/assets/javascripts/views/search/search.js index 94105618f0..97009f4080 100644 --- a/assets/javascripts/views/search/search.js +++ b/assets/javascripts/views/search/search.js @@ -141,7 +141,7 @@ app.views.Search = class Search extends app.View { } externalSearch(url) { - const value = this.value; + let value = this.value; if (value) { if (this.scope.name()) { value = `${this.scope.name()} ${value}`; diff --git a/test/assets/search_hash_test.js b/test/assets/search_hash_test.js index 276f3df387..7d264bdbb4 100644 --- a/test/assets/search_hash_test.js +++ b/test/assets/search_hash_test.js @@ -48,3 +48,19 @@ test("URL search hash preserves encoded literal plus signs in the query", () => assert.equal(search.getHashValue(), "operator+"); }); + +test("scoped external search includes the documentation name", () => { + let popupUrl; + context.$.popup = (url) => { + popupUrl = url; + }; + + const search = Object.create(context.app.views.Search.prototype); + search.value = "status"; + search.scope = { name: () => "Git" }; + search.reset = () => {}; + + search.externalSearch("https://www.google.com/search?q="); + + assert.equal(popupUrl, "https://www.google.com/search?q=Git%20status"); +});