Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84168102 authored by Zekan Qian's avatar Zekan Qian
Browse files

Move SpaEnvironmentForTest for tests.testutils

Bug: 256582545
Test: unit-test & local build gallery
Change-Id: I5ad71fb0184d9f5080ca733e10040709eeadaf5b
parent a9ee1ca5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+15 −12
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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
+23 −10
Original line number Diff line number Diff line
@@ -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) {