Move SpaEnvironmentForTest for tests.testutils

Bug: 256582545
Test: unit-test & local build gallery
Change-Id: I5ad71fb0184d9f5080ca733e10040709eeadaf5b
This commit is contained in:
Zekan Qian
2022-11-25 14:26:42 +08:00
parent a9ee1ca5c4
commit 84168102bb
5 changed files with 45 additions and 25 deletions

View File

@@ -19,6 +19,10 @@ package com.android.settingslib.spa.framework.common
import android.content.Context
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
import com.android.settingslib.spa.tests.testutils.SppHome
import com.android.settingslib.spa.tests.testutils.SppLayer1
import com.android.settingslib.spa.tests.testutils.SppLayer2
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith

View File

@@ -22,6 +22,9 @@ import androidx.navigation.NavType
import androidx.navigation.navArgument
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.tests.testutils.BlankActivity
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
import com.android.settingslib.spa.tests.testutils.SpaLoggerForTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@@ -42,9 +45,9 @@ class SettingsPageTest {
assertThat(page.isCreateBy("NULL")).isTrue()
assertThat(page.isCreateBy("Spp")).isFalse()
assertThat(page.hasRuntimeParam()).isFalse()
assertThat(page.isBrowsable(context, MockActivity::class.java)).isFalse()
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNull()
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).isNull()
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isFalse()
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNull()
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).isNull()
}
@Test
@@ -57,9 +60,9 @@ class SettingsPageTest {
assertThat(page.isCreateBy("NULL")).isFalse()
assertThat(page.isCreateBy("mySpp")).isTrue()
assertThat(page.hasRuntimeParam()).isFalse()
assertThat(page.isBrowsable(context, MockActivity::class.java)).isTrue()
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNotNull()
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).contains(
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isTrue()
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNotNull()
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).contains(
"-e spaActivityDestination mySpp"
)
}
@@ -80,9 +83,9 @@ class SettingsPageTest {
assertThat(page.buildRoute()).isEqualTo("SppWithParam/myStr/10")
assertThat(page.isCreateBy("SppWithParam")).isTrue()
assertThat(page.hasRuntimeParam()).isFalse()
assertThat(page.isBrowsable(context, MockActivity::class.java)).isTrue()
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNotNull()
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).contains(
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isTrue()
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNotNull()
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).contains(
"-e spaActivityDestination SppWithParam/myStr/10"
)
}
@@ -105,9 +108,9 @@ class SettingsPageTest {
assertThat(page.buildRoute()).isEqualTo("SppWithRtParam/myStr/10/rtStr")
assertThat(page.isCreateBy("SppWithRtParam")).isTrue()
assertThat(page.hasRuntimeParam()).isTrue()
assertThat(page.isBrowsable(context, MockActivity::class.java)).isFalse()
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNull()
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).isNull()
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isFalse()
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNull()
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).isNull()
}
@Test

View File

@@ -22,11 +22,11 @@ import androidx.lifecycle.Observer
import androidx.slice.Slice
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.framework.common.SpaEnvironmentForTest
import com.android.settingslib.spa.framework.common.SppLayer2
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.common.getUniqueEntryId
import com.android.settingslib.spa.testutils.InstantTaskExecutorRule
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
import com.android.settingslib.spa.tests.testutils.SppLayer2
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test

View File

@@ -23,7 +23,7 @@ import androidx.core.os.bundleOf
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
import com.android.settingslib.spa.framework.common.SpaEnvironmentForTest
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.settingslib.spa.framework.common
package com.android.settingslib.spa.tests.testutils
import android.app.Activity
import android.content.BroadcastReceiver
@@ -24,6 +24,17 @@ import android.os.Bundle
import androidx.navigation.NavType
import androidx.navigation.navArgument
import com.android.settingslib.spa.framework.BrowseActivity
import com.android.settingslib.spa.framework.common.EntrySliceData
import com.android.settingslib.spa.framework.common.LogCategory
import com.android.settingslib.spa.framework.common.LogEvent
import com.android.settingslib.spa.framework.common.SettingsEntry
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
import com.android.settingslib.spa.framework.common.SettingsPage
import com.android.settingslib.spa.framework.common.SettingsPageProvider
import com.android.settingslib.spa.framework.common.SettingsPageProviderRepository
import com.android.settingslib.spa.framework.common.SpaEnvironment
import com.android.settingslib.spa.framework.common.SpaLogger
import com.android.settingslib.spa.framework.common.createSettingsPage
class SpaLoggerForTest : SpaLogger {
data class MsgCountKey(val msg: String, val category: LogCategory)
@@ -34,22 +45,22 @@ class SpaLoggerForTest : SpaLogger {
override fun message(tag: String, msg: String, category: LogCategory) {
val key = MsgCountKey("[$tag]$msg", category)
messageCount[key] = messageCount.getOrDefault(key, 0) + 1
messageCount[key] = (messageCount[key] ?: 0) + 1
}
override fun event(id: String, event: LogEvent, category: LogCategory, details: String?) {
val key = EventCountKey(id, event, category)
eventCount[key] = eventCount.getOrDefault(key, 0) + 1
eventCount[key] = (eventCount[key] ?: 0) + 1
}
fun getMessageCount(tag: String, msg: String, category: LogCategory): Int {
val key = MsgCountKey("[$tag]$msg", category)
return messageCount.getOrDefault(key, 0)
return messageCount[key] ?: 0
}
fun getEventCount(id: String, event: LogEvent, category: LogCategory): Int {
val key = EventCountKey(id, event, category)
return eventCount.getOrDefault(key, 0)
return eventCount[key] ?: 0
}
fun reset() {
@@ -58,8 +69,8 @@ class SpaLoggerForTest : SpaLogger {
}
}
class MockActivity : BrowseActivity()
class MockSliceBroadcastReceiver : BroadcastReceiver() {
class BlankActivity : BrowseActivity()
class BlankSliceBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(p0: Context?, p1: Intent?) {}
}
@@ -112,7 +123,9 @@ object SppLayer2 : SettingsPageProvider {
SettingsEntryBuilder.create(owner, "Layer2Entry1")
.setSliceDataFn { _, _ ->
return@setSliceDataFn object : EntrySliceData() {
init { postValue(null) }
init {
postValue(null)
}
}
}
.build(),
@@ -123,9 +136,9 @@ object SppLayer2 : SettingsPageProvider {
class SpaEnvironmentForTest(
context: Context,
override val browseActivityClass: Class<out Activity>? = MockActivity::class.java,
override val browseActivityClass: Class<out Activity>? = BlankActivity::class.java,
override val sliceBroadcastReceiverClass: Class<out BroadcastReceiver>? =
MockSliceBroadcastReceiver::class.java,
BlankSliceBroadcastReceiver::class.java,
override val logger: SpaLogger = object : SpaLogger {}
) : SpaEnvironment(context) {