diff options
| author | 2023-03-01 21:03:04 +0000 | |
|---|---|---|
| committer | 2023-03-01 21:03:04 +0000 | |
| commit | 75637203cef7ed2d0b6c6f4c19e9f8541fd3a4cc (patch) | |
| tree | 30ca5494b4211813d488f2ee8f3549f6e902809c /java/tests/src | |
| parent | 37364423c143a737c37a10de6ede2f25fd476ad1 (diff) | |
| parent | 475e8f782ceafd82760d70f958c6916ede1e9a6a (diff) | |
Merge "Check for nearby component in config" into tm-qpr-dev
Diffstat (limited to 'java/tests/src')
| -rw-r--r-- | java/tests/src/com/android/intentresolver/ChooserIntegratedDeviceComponentsTest.kt | 71 | 
1 files changed, 71 insertions, 0 deletions
| diff --git a/java/tests/src/com/android/intentresolver/ChooserIntegratedDeviceComponentsTest.kt b/java/tests/src/com/android/intentresolver/ChooserIntegratedDeviceComponentsTest.kt new file mode 100644 index 00000000..9a5dabdb --- /dev/null +++ b/java/tests/src/com/android/intentresolver/ChooserIntegratedDeviceComponentsTest.kt @@ -0,0 +1,71 @@ +/* + * 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.intentresolver + +import android.content.ComponentName +import android.provider.Settings +import android.testing.TestableContext +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class ChooserIntegratedDeviceComponentsTest { +    private val secureSettings = mock<SecureSettings>() +    private val testableContext = +        TestableContext(InstrumentationRegistry.getInstrumentation().getContext()) + +    @Test +    fun testEditorAndNearby() { +        val resources = testableContext.getOrCreateTestableResources() + +        resources.addOverride(R.string.config_systemImageEditor, "") +        resources.addOverride(R.string.config_defaultNearbySharingComponent, "") + +        var components = ChooserIntegratedDeviceComponents.get(testableContext, secureSettings) + +        assertThat(components.editSharingComponent).isNull() +        assertThat(components.nearbySharingComponent).isNull() + +        val editor = ComponentName.unflattenFromString("com.android/com.android.Editor") +        val nearby = ComponentName.unflattenFromString("com.android/com.android.nearby") + +        resources.addOverride(R.string.config_systemImageEditor, editor?.flattenToString()) +        resources.addOverride( +            R.string.config_defaultNearbySharingComponent, nearby?.flattenToString()) + +        components = ChooserIntegratedDeviceComponents.get(testableContext, secureSettings) + +        assertThat(components.editSharingComponent).isEqualTo(editor) +        assertThat(components.nearbySharingComponent).isEqualTo(nearby) + +        val anotherNearby = +            ComponentName.unflattenFromString("com.android/com.android.another_nearby") +        whenever( +            secureSettings.getString( +                any(), +                eq(Settings.Secure.NEARBY_SHARING_COMPONENT) +            ) +        ).thenReturn(anotherNearby?.flattenToString()) + +        components = ChooserIntegratedDeviceComponents.get(testableContext, secureSettings) + +        assertThat(components.nearbySharingComponent).isEqualTo(anotherNearby) +    } +} |