@@ -42,6 +42,7 @@ import androidx.test.platform.app.InstrumentationRegistry
42
42
import com.duckduckgo.adclick.api.AdClickManager
43
43
import com.duckduckgo.anrs.api.CrashLogger
44
44
import com.duckduckgo.anrs.api.CrashLogger.Crash
45
+ import com.duckduckgo.app.browser.SpecialUrlDetector.UrlType.Web
45
46
import com.duckduckgo.app.browser.WebViewErrorResponse.BAD_URL
46
47
import com.duckduckgo.app.browser.WebViewErrorResponse.CONNECTION
47
48
import com.duckduckgo.app.browser.WebViewErrorResponse.SSL_PROTOCOL_ERROR
@@ -427,6 +428,25 @@ class BrowserWebViewClientTest {
427
428
verify(mockWebView).loadUrl(" www.youtube.com/watch?v=1234&origin=serp_auto" )
428
429
}
429
430
431
+ @Test
432
+ fun whenShouldOverrideWithWebThenDoNotAddQueryParam () = runTest {
433
+ val urlType = Web (" www.youtube.com/watch?v=1234" )
434
+ whenever(specialUrlDetector.determineType(initiatingUrl = any(), uri = any())).thenReturn(urlType)
435
+ whenever(webResourceRequest.isForMainFrame).thenReturn(true )
436
+ whenever(webResourceRequest.isRedirect).thenReturn(false )
437
+ whenever(webResourceRequest.url).thenReturn(" www.youtube.com/watch?v=1234" .toUri())
438
+ whenever(mockDuckDuckGoUrlDetector.isDuckDuckGoUrl(any())).thenReturn(true )
439
+ val mockClientProvider: ClientBrandHintProvider = mock()
440
+ whenever(mockClientProvider.shouldChangeBranding(any())).thenReturn(false )
441
+ testee.clientProvider = mockClientProvider
442
+ doNothing().whenever(listener).willOverrideUrl(any())
443
+ val mockWebView = getImmediatelyInvokedMockWebView()
444
+ whenever(mockWebView.url).thenReturn(" www.duckduckgo.com" )
445
+ openInNewTabFlow.emit(Off )
446
+
447
+ assertFalse(testee.shouldOverrideUrlLoading(mockWebView, webResourceRequest))
448
+ }
449
+
430
450
@UiThreadTest
431
451
@Test
432
452
fun whenAppLinkDetectedAndIsHandledThenReturnTrue () {
0 commit comments