Files
app_Settings/tests/unit/src/com/android/settings/wifi/WifiDialog2Test.kt
Chaohui Wang b1ecd0e392 Migrate WifiDialog2 to Kotlin
Bug: 297036035
Test: unit test
Test: manual - on wifi dialog
Change-Id: I5bcd636705b8514fe3fd784ef380f55e079c6ce7
2023-09-01 11:15:14 +08:00

93 lines
3.0 KiB
Kotlin

/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.wifi
import androidx.activity.ComponentActivity
import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener
import com.android.wifitrackerlib.WifiEntry
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.junit.MockitoJUnit
import org.mockito.junit.MockitoRule
@RunWith(AndroidJUnit4::class)
class WifiDialog2Test {
@get:Rule
val activityScenarioRule = ActivityScenarioRule(ComponentActivity::class.java)
@get:Rule
val mockito: MockitoRule = MockitoJUnit.rule()
@Mock
private lateinit var mockWifiEntry: WifiEntry
private val listener = object : WifiDialog2Listener {}
@Test
fun constructor_usesDefaultTheme() {
activityScenarioRule.scenario.onActivity { activity ->
val wifiDialog2 = WifiDialog2(
context = activity,
listener = listener,
wifiEntry = mockWifiEntry,
mode = WifiConfigUiBase2.MODE_CONNECT,
style = 0,
hideSubmitButton = false
)
val modal = WifiDialog2(
context = activity,
listener = listener,
wifiEntry = mockWifiEntry,
mode = WifiConfigUiBase2.MODE_CONNECT,
)
assertThat(modal.context.themeResId).isEqualTo(wifiDialog2.context.themeResId)
}
}
@Test
fun constructor_whenSetTheme_shouldBeCustomizedTheme() {
activityScenarioRule.scenario.onActivity { activity ->
val wifiDialog2 = WifiDialog2(
context = activity,
listener = listener,
wifiEntry = mockWifiEntry,
mode = WifiConfigUiBase2.MODE_CONNECT,
style = R.style.SuwAlertDialogThemeCompat_Light,
hideSubmitButton = false,
)
val modal = WifiDialog2(
context = activity,
listener = listener,
wifiEntry = mockWifiEntry,
mode = WifiConfigUiBase2.MODE_CONNECT,
style = R.style.SuwAlertDialogThemeCompat_Light,
)
assertThat(modal.context.themeResId).isEqualTo(wifiDialog2.context.themeResId)
}
}
}