diff options
author | 2024-12-16 21:45:41 -0500 | |
---|---|---|
committer | 2025-01-11 14:17:35 -0500 | |
commit | e9a0e66716dab4dd3184d009d8920de1961efdfa (patch) | |
tree | 02dcc096643d74645bf28459c2834c3d4a2ad7f2 /tests/src/com/android/inputmethod/latin/settings/AccountsSettingsFragmentTests.java | |
parent | fb3b9360d70596d7e921de8bf7d3ca99564a077e (diff) | |
download | latinime-e9a0e66716dab4dd3184d009d8920de1961efdfa.tar.gz latinime-e9a0e66716dab4dd3184d009d8920de1961efdfa.tar.xz latinime-e9a0e66716dab4dd3184d009d8920de1961efdfa.zip |
Rename to Kelar Keyboard (org.kelar.inputmethod.latin)
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/settings/AccountsSettingsFragmentTests.java')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/settings/AccountsSettingsFragmentTests.java | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/tests/src/com/android/inputmethod/latin/settings/AccountsSettingsFragmentTests.java b/tests/src/com/android/inputmethod/latin/settings/AccountsSettingsFragmentTests.java deleted file mode 100644 index 667ffd1ae..000000000 --- a/tests/src/com/android/inputmethod/latin/settings/AccountsSettingsFragmentTests.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (C) 2014 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.inputmethod.latin.settings; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.when; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.view.View; -import android.widget.ListView; - -import androidx.test.InstrumentationRegistry; -import androidx.test.filters.MediumTest; -import androidx.test.runner.AndroidJUnit4; - -import com.android.inputmethod.latin.utils.ManagedProfileUtils; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -@MediumTest -@RunWith(AndroidJUnit4.class) -public class AccountsSettingsFragmentTests { - private static final String FRAG_NAME = AccountsSettingsFragment.class.getName(); - private static final long TEST_TIMEOUT_MILLIS = 5000; - - @Mock private ManagedProfileUtils mManagedProfileUtils; - - private TestFragmentActivity mActivity; - private TestFragmentActivity getActivity() { - return mActivity; - } - - @Before - public void setUp() throws Exception { - // Initialize the mocks. - MockitoAnnotations.initMocks(this); - ManagedProfileUtils.setTestInstance(mManagedProfileUtils); - - final Intent intent = new Intent() - .setAction(Intent.ACTION_MAIN) - .setClass(InstrumentationRegistry.getTargetContext(), TestFragmentActivity.class) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - .addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION) - .putExtra(TestFragmentActivity.EXTRA_SHOW_FRAGMENT, FRAG_NAME); - mActivity = (TestFragmentActivity) InstrumentationRegistry.getInstrumentation() - .startActivitySync(intent); - } - - @After - public void tearDown() throws Exception { - ManagedProfileUtils.setTestInstance(null); - mActivity = null; - } - - @Test - public void testEmptyAccounts() { - final AccountsSettingsFragment fragment = - (AccountsSettingsFragment) getActivity().mFragment; - try { - fragment.createAccountPicker(new String[0], null, null /* listener */); - fail("Expected IllegalArgumentException, never thrown"); - } catch (IllegalArgumentException expected) { - // Expected. - } - } - - private static class DialogHolder { - AlertDialog mDialog; - DialogHolder() {} - } - - @Test - public void testMultipleAccounts_noSettingsForManagedProfile() { - when(mManagedProfileUtils.hasWorkProfile(any(Context.class))).thenReturn(true); - - final AccountsSettingsFragment fragment = - (AccountsSettingsFragment) getActivity().mFragment; - final AlertDialog dialog = initDialog(fragment, null).mDialog; - final ListView lv = dialog.getListView(); - - // Nothing to check/uncheck. - assertNull(fragment.findPreference(AccountsSettingsFragment.PREF_ACCCOUNT_SWITCHER)); - } - - @Test - public void testMultipleAccounts_noCurrentAccount() { - when(mManagedProfileUtils.hasWorkProfile(any(Context.class))).thenReturn(false); - - final AccountsSettingsFragment fragment = - (AccountsSettingsFragment) getActivity().mFragment; - final AlertDialog dialog = initDialog(fragment, null).mDialog; - final ListView lv = dialog.getListView(); - - // The 1st account should be checked by default. - assertEquals("checked-item", 0, lv.getCheckedItemPosition()); - // There should be 4 accounts in the list. - assertEquals("count", 4, lv.getCount()); - // The sign-out button shouldn't exist - assertEquals(View.GONE, - dialog.getButton(DialogInterface.BUTTON_NEUTRAL).getVisibility()); - assertEquals(View.VISIBLE, - dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getVisibility()); - assertEquals(View.VISIBLE, - dialog.getButton(DialogInterface.BUTTON_POSITIVE).getVisibility()); - } - - @Test - public void testMultipleAccounts_currentAccount() { - when(mManagedProfileUtils.hasWorkProfile(any(Context.class))).thenReturn(false); - - final AccountsSettingsFragment fragment = - (AccountsSettingsFragment) getActivity().mFragment; - final AlertDialog dialog = initDialog(fragment, "3@example.com").mDialog; - final ListView lv = dialog.getListView(); - - // The 3rd account should be checked by default. - assertEquals("checked-item", 2, lv.getCheckedItemPosition()); - // There should be 4 accounts in the list. - assertEquals("count", 4, lv.getCount()); - // The sign-out button should be shown - assertEquals(View.VISIBLE, - dialog.getButton(DialogInterface.BUTTON_NEUTRAL).getVisibility()); - assertEquals(View.VISIBLE, - dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getVisibility()); - assertEquals(View.VISIBLE, - dialog.getButton(DialogInterface.BUTTON_POSITIVE).getVisibility()); - } - - private DialogHolder initDialog( - final AccountsSettingsFragment fragment, - final String selectedAccount) { - final DialogHolder dialogHolder = new DialogHolder(); - final CountDownLatch latch = new CountDownLatch(1); - - getActivity().runOnUiThread(new Runnable() { - @Override - public void run() { - final AlertDialog dialog = fragment.createAccountPicker( - new String[] { - "1@example.com", - "2@example.com", - "3@example.com", - "4@example.com"}, - selectedAccount, null /* positiveButtonListner */); - dialog.show(); - dialogHolder.mDialog = dialog; - latch.countDown(); - } - }); - - try { - latch.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); - } catch (InterruptedException ex) { - fail(); - } - InstrumentationRegistry.getInstrumentation().waitForIdleSync(); - return dialogHolder; - } -} |