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

Commit 45844c19 authored by Zekan Qian's avatar Zekan Qian
Browse files

Add tests.

Bug: 256582545
Test: unit-test & local build gallery
Change-Id: Icd7ce7e2256f6f79953e48d52f436ddecb915fe2
parent 9a512e9c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -44,3 +44,9 @@ android_library {
    ],
    min_sdk_version: "31",
}

// Expose the srcs to tests, so the tests can access the internal classes.
filegroup {
    name: "SpaLib_srcs",
    srcs: ["src/**/*.kt"],
}
+11 −4
Original line number Diff line number Diff line
@@ -101,10 +101,6 @@ task coverageReport(type: JacocoReport, dependsOn: "connectedDebugAndroidTest")
            excludes: [
                    "com/android/settingslib/spa/debug/**",

                    // Excludes inline functions, which is not covered in Jacoco reports.
                    "com/android/settingslib/spa/framework/util/Collections*",
                    "com/android/settingslib/spa/framework/util/Flows*",

                    // Excludes files forked from AndroidX.
                    "com/android/settingslib/spa/widget/scaffold/CustomizedAppBar*",
                    "com/android/settingslib/spa/widget/scaffold/TopAppBarColors*",
@@ -112,6 +108,17 @@ task coverageReport(type: JacocoReport, dependsOn: "connectedDebugAndroidTest")
                    // Excludes files forked from Accompanist.
                    "com/android/settingslib/spa/framework/compose/DrawablePainter*",
                    "com/android/settingslib/spa/framework/compose/Pager*",

                    // Excludes inline functions, which is not covered in Jacoco reports.
                    "com/android/settingslib/spa/framework/util/Collections*",
                    "com/android/settingslib/spa/framework/util/Flows*",

                    // Excludes debug functions
                    "com/android/settingslib/spa/framework/compose/TimeMeasurer*",

                    // Excludes slice demo presenter & provider
                    "com/android/settingslib/spa/slice/presenter/Demo*",
                    "com/android/settingslib/spa/slice/provider/Demo*",
            ],
    )
    executionData.from = fileTree(dir: "$buildDir/outputs/code_coverage/debugAndroidTest/connected")
+2 −2
Original line number Diff line number Diff line
@@ -25,8 +25,8 @@ import androidx.compose.runtime.compositionLocalOf
import androidx.compose.runtime.remember
import com.android.settingslib.spa.framework.compose.LocalNavController

const val INJECT_ENTRY_NAME = "INJECT"
const val ROOT_ENTRY_NAME = "ROOT"
private const val INJECT_ENTRY_NAME = "INJECT"
private const val ROOT_ENTRY_NAME = "ROOT"

interface EntryData {
    val pageId: String?
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ private const val TAG = "SpaEnvironment"
object SpaEnvironmentFactory {
    private var spaEnvironment: SpaEnvironment? = null

    fun reset() {
        spaEnvironment = null
    }

    fun reset(env: SpaEnvironment) {
        spaEnvironment = env
        Log.d(TAG, "reset")
+9 −4
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settingslib.spa.framework.theme

import android.content.Context
import android.os.Build
import androidx.annotation.VisibleForTesting
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
@@ -64,7 +65,8 @@ internal fun settingsColorScheme(isDarkTheme: Boolean): SettingsColorScheme {
 *
 * @param context The context required to get system resource data.
 */
private fun dynamicLightColorScheme(context: Context): SettingsColorScheme {
@VisibleForTesting
internal fun dynamicLightColorScheme(context: Context): SettingsColorScheme {
    val tonalPalette = dynamicTonalPalette(context)
    return SettingsColorScheme(
        background = tonalPalette.neutral95,
@@ -90,7 +92,8 @@ private fun dynamicLightColorScheme(context: Context): SettingsColorScheme {
 *
 * @param context The context required to get system resource data.
 */
private fun dynamicDarkColorScheme(context: Context): SettingsColorScheme {
@VisibleForTesting
internal fun dynamicDarkColorScheme(context: Context): SettingsColorScheme {
    val tonalPalette = dynamicTonalPalette(context)
    return SettingsColorScheme(
        background = tonalPalette.neutral10,
@@ -107,7 +110,8 @@ private fun dynamicDarkColorScheme(context: Context): SettingsColorScheme {
    )
}

private fun darkColorScheme(): SettingsColorScheme {
@VisibleForTesting
internal fun darkColorScheme(): SettingsColorScheme {
    val tonalPalette = tonalPalette()
    return SettingsColorScheme(
        background = tonalPalette.neutral10,
@@ -124,7 +128,8 @@ private fun darkColorScheme(): SettingsColorScheme {
    )
}

private fun lightColorScheme(): SettingsColorScheme {
@VisibleForTesting
internal fun lightColorScheme(): SettingsColorScheme {
    val tonalPalette = tonalPalette()
    return SettingsColorScheme(
        background = tonalPalette.neutral95,
Loading