@@ -10,6 +10,30 @@ import WebKit
10
10
import MozillaAppServices
11
11
12
12
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
+ )
13
37
private let google_US_testEngine =
14
38
SearchEngineDefinition (
15
39
aliases: [ " google " ] ,
@@ -89,4 +113,25 @@ class ASSearchEngineUtilitiesTests: XCTestCase {
89
113
let expected = " https://www.google.com/complete/search?client=firefox&q={searchTerms} "
90
114
XCTAssertEqual ( result, expected)
91
115
}
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
+ }
92
137
}
0 commit comments