From 702b421ddabc424f82193f1e3ac23275b1b05eb1 Mon Sep 17 00:00:00 2001 From: Kelly Date: Mon, 29 Aug 2022 17:35:21 +0800 Subject: [PATCH] Add unit tests for SettingsSlider widget. Bug: 241857459 Test: unit tests Change-Id: I80acdeaf08bb1078fc1d0f3dbe09569bd9c96d0b --- .../spa/gallery/page/SliderPage.kt | 4 +- .../spa/widget/{ui => }/SettingsSlider.kt | 2 +- .../spa/widget/SettingsSliderTest.kt | 45 +++++++++++++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) rename packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/{ui => }/SettingsSlider.kt (99%) create mode 100644 packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/SettingsSliderTest.kt diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt index 04046fa18df11..d86e025a5b56f 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/SliderPage.kt @@ -30,11 +30,11 @@ import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.api.SettingsPageProvider import com.android.settingslib.spa.framework.compose.navigator import com.android.settingslib.spa.framework.theme.SettingsTheme +import com.android.settingslib.spa.widget.SettingsSlider +import com.android.settingslib.spa.widget.SettingsSliderModel import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.RegularScaffold -import com.android.settingslib.spa.widget.ui.SettingsSlider -import com.android.settingslib.spa.widget.ui.SettingsSliderModel private const val TITLE = "Sample Slider" diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/SettingsSlider.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/SettingsSlider.kt similarity index 99% rename from packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/SettingsSlider.kt rename to packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/SettingsSlider.kt index 0454ac37cfb72..4f77a89577eac 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/SettingsSlider.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/SettingsSlider.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.spa.widget.ui +package com.android.settingslib.spa.widget import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AccessAlarm diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/SettingsSliderTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/SettingsSliderTest.kt new file mode 100644 index 0000000000000..1d95e3383b51c --- /dev/null +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/SettingsSliderTest.kt @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2022 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.settingslib.spa.widget + +import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithText +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class SettingsSliderTest { + @get:Rule + val composeTestRule = createComposeRule() + + @Test + fun title_displayed() { + composeTestRule.setContent { + SettingsSlider(object : SettingsSliderModel { + override val title = "Slider" + override val initValue = 40 + }) + } + + composeTestRule.onNodeWithText("Slider").assertIsDisplayed() + } + + // TODO: Add more unit tests for SettingsSlider widget. +}