Skip to content

Commit fa825db

Browse files
committed
Add unit test.
1 parent f89f06b commit fa825db

2 files changed

Lines changed: 28 additions & 2 deletions

File tree

libs/SalesforceSDK/src/com/salesforce/androidsdk/ui/LoginActivity.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,10 @@ open class LoginActivity : FragmentActivity() {
181181
by viewModels { SalesforceSDKManager.getInstance().loginViewModelFactory }
182182

183183
// Webview and Clients
184-
protected open val webViewClient = AuthWebViewClient()
185-
protected open val webChromeClient = WebChromeClient()
184+
@VisibleForTesting(otherwise = PROTECTED)
185+
open val webViewClient = AuthWebViewClient()
186+
@VisibleForTesting(otherwise = PROTECTED)
187+
open val webChromeClient = WebChromeClient()
186188
open val webView: WebView by lazy {
187189
WebView(this.baseContext).apply {
188190
layoutParams = ViewGroup.LayoutParams(

libs/test/SalesforceSDKTest/src/com/salesforce/androidsdk/ui/LoginActivityTest.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ package com.salesforce.androidsdk.ui
2828

2929
import android.content.Intent
3030
import android.net.Uri.parse
31+
import android.webkit.WebView
3132
import androidx.core.net.toUri
3233
import androidx.test.core.app.ActivityScenario.launch
3334
import androidx.test.core.app.ApplicationProvider.getApplicationContext
@@ -163,4 +164,27 @@ class LoginActivityTest {
163164
}
164165
}
165166
}
167+
168+
@Test
169+
fun testWebviewSettings() {
170+
launch<LoginActivity>(
171+
Intent(
172+
getApplicationContext(),
173+
LoginActivity::class.java
174+
)
175+
).use { activityScenario ->
176+
177+
activityScenario.onActivity { activity ->
178+
val defaultWebview = WebView(activity)
179+
val expectedUserAgent = "${SalesforceSDKManager.getInstance().userAgent} ${defaultWebview.settings.userAgentString}"
180+
181+
assertEquals(activity.webViewClient, activity.webView.webViewClient)
182+
assertEquals(activity.webChromeClient, activity.webView.webChromeClient)
183+
184+
assertTrue(activity.webView.settings.domStorageEnabled)
185+
assertTrue(activity.webView.settings.javaScriptEnabled)
186+
assertEquals(expectedUserAgent, activity.webView.settings.userAgentString)
187+
}
188+
}
189+
}
166190
}

0 commit comments

Comments
 (0)