Skip to content

Commit 22019ea

Browse files
[FXIOS-12033] More unit tests
1 parent d1ed678 commit 22019ea

File tree

2 files changed

+48
-1
lines changed

2 files changed

+48
-1
lines changed

firefox-ios/Client/Application/RemoteSettings/Application Services/ASSearchEngineUtilities.swift

+3-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ struct ASSearchEngineUtilities {
5050
if let searchArg = searchURL.searchTermParamName, !searchURL.base.contains("{searchTerms}") {
5151
queryItems.append(URLQueryItem(name: searchArg, value: "{searchTerms}"))
5252
}
53-
components.queryItems = queryItems
53+
if !queryItems.isEmpty {
54+
components.queryItems = queryItems
55+
}
5456

5557
return components.url?.absoluteString.removingPercentEncoding
5658
}

firefox-ios/firefox-ios-tests/Tests/ClientTests/RemoteSettings/ASSearchEngineUtilitiesTests.swift

+45
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,30 @@ import WebKit
1010
import MozillaAppServices
1111

1212
class ASSearchEngineUtilitiesTests: XCTestCase {
13+
private let leo_eng_deu_engine =
14+
SearchEngineDefinition(
15+
aliases: [],
16+
charset: "UTF-8",
17+
classification: .unknown,
18+
identifier: "leo_ende_de",
19+
name: "LEO Eng-Deu",
20+
optional: false,
21+
partnerCode: "",
22+
telemetrySuffix: "",
23+
urls: SearchEngineUrls(
24+
search: SearchEngineUrl(
25+
base: "https://dict.leo.org/englisch-deutsch/{searchTerms}",
26+
method: "GET",
27+
params: [],
28+
searchTermParamName: nil
29+
),
30+
suggestions: nil,
31+
trending: nil,
32+
searchForm: nil
33+
),
34+
orderHint: nil,
35+
clickUrl: nil
36+
)
1337
private let google_US_testEngine =
1438
SearchEngineDefinition(
1539
aliases: ["google"],
@@ -89,4 +113,25 @@ class ASSearchEngineUtilitiesTests: XCTestCase {
89113
let expected = "https://www.google.com/complete/search?client=firefox&q={searchTerms}"
90114
XCTAssertEqual(result, expected)
91115
}
116+
117+
func testEmptyPartnerCodeSearchURL() {
118+
var engine = google_US_testEngine
119+
120+
// Force an empty partnerCode string:
121+
engine.partnerCode = ""
122+
123+
let result = ASSearchEngineUtilities.convertASSearchURLToOpenSearchURL(engine.urls.search,
124+
for: engine)
125+
let expected = "https://www.google.com/search?client=&q={searchTerms}"
126+
XCTAssertEqual(result, expected)
127+
}
128+
129+
func testSearchTermIncludedInBaseURL() {
130+
let engine = leo_eng_deu_engine
131+
132+
let result = ASSearchEngineUtilities.convertASSearchURLToOpenSearchURL(engine.urls.search,
133+
for: engine)
134+
let expected = "https://dict.leo.org/englisch-deutsch/{searchTerms}"
135+
XCTAssertEqual(result, expected)
136+
}
92137
}

0 commit comments

Comments
 (0)