diff options
Diffstat (limited to 'tests/src')
3 files changed, 48 insertions, 41 deletions
diff --git a/tests/src/com/android/inputmethod/latin/personalization/ContextualDictionaryTests.java b/tests/src/com/android/inputmethod/latin/personalization/ContextualDictionaryTests.java index f07dac7c0..9d211c9e6 100644 --- a/tests/src/com/android/inputmethod/latin/personalization/ContextualDictionaryTests.java +++ b/tests/src/com/android/inputmethod/latin/personalization/ContextualDictionaryTests.java @@ -18,6 +18,7 @@ package com.android.inputmethod.latin.personalization; import java.io.File; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -42,7 +43,7 @@ public class ContextualDictionaryTests extends AndroidTestCase { final DictionaryFacilitator dictionaryFacilitator = new DictionaryFacilitator(); dictionaryFacilitator.resetDictionariesForTesting(getContext(), new Locale[] { LOCALE_EN_US }, dictTypes, new HashMap<String, File>(), - new HashMap<String, Map<String, String>>()); + Collections.<String, Map<String, String>>emptyMap(), null /* account */); return dictionaryFacilitator; } diff --git a/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java b/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java index dc6fb0075..b133d61ab 100644 --- a/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java +++ b/tests/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryTests.java @@ -18,6 +18,7 @@ package com.android.inputmethod.latin.personalization; import java.io.File; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -57,7 +58,7 @@ public class PersonalizationDictionaryTests extends AndroidTestCase { final DictionaryFacilitator dictionaryFacilitator = new DictionaryFacilitator(getContext()); dictionaryFacilitator.resetDictionariesForTesting(getContext(), new Locale[] { LOCALE_EN_US }, dictTypes, new HashMap<String, File>(), - new HashMap<String, Map<String, String>>()); + Collections.<String, Map<String, String>>emptyMap(), null /* account */); // Set subtypes. RichInputMethodManager.init(getContext()); final RichInputMethodManager richImm = RichInputMethodManager.getInstance(); diff --git a/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java index d83c4a55b..6dddc971b 100644 --- a/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java +++ b/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java @@ -16,8 +16,6 @@ package com.android.inputmethod.latin.personalization; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.LargeTest; import android.util.Log; @@ -25,7 +23,6 @@ import android.util.Log; import com.android.inputmethod.latin.ExpandableBinaryDictionary; import com.android.inputmethod.latin.NgramContext; import com.android.inputmethod.latin.NgramContext.WordInfo; -import com.android.inputmethod.latin.settings.LocalSettingsConstants; import com.android.inputmethod.latin.utils.BinaryDictionaryUtils; import com.android.inputmethod.latin.utils.DistracterFilter; @@ -35,8 +32,6 @@ import java.util.Locale; import java.util.Random; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; - /** * Unit tests for UserHistoryDictionary */ @@ -48,9 +43,6 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { private int mCurrentTime = 0; - private SharedPreferences mPrefs; - private String mLastKnownAccount = null; - private static void printAllFiles(final File dir) { Log.d(TAG, dir.getAbsolutePath()); for (final File file : dir.listFiles()) { @@ -78,12 +70,6 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { @Override protected void setUp() throws Exception { super.setUp(); - - mPrefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - // Keep track of the current account so that we restore it when the test finishes. - mLastKnownAccount = mPrefs.getString(LocalSettingsConstants.PREF_ACCOUNT_NAME, null); - updateAccountName(TEST_ACCOUNT); - resetCurrentTimeForTestMode(); UserHistoryDictionaryTestsHelper.removeAllTestDictFiles( UserHistoryDictionaryTestsHelper.TEST_LOCALE_PREFIX, mContext); @@ -94,10 +80,6 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { UserHistoryDictionaryTestsHelper.removeAllTestDictFiles( UserHistoryDictionaryTestsHelper.TEST_LOCALE_PREFIX, mContext); stopTestModeInNativeCode(); - - // Restore the account that was present before running the test. - updateAccountName(mLastKnownAccount); - super.tearDown(); } @@ -106,14 +88,6 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { setCurrentTimeForTestMode(mCurrentTime); } - private void updateAccountName(@Nullable final String accountName) { - if (accountName == null) { - mPrefs.edit().remove(LocalSettingsConstants.PREF_ACCOUNT_NAME).apply(); - } else { - mPrefs.edit().putString(LocalSettingsConstants.PREF_ACCOUNT_NAME, accountName).apply(); - } - } - private void forcePassingShortTime() { // 3 days. final int timeToElapse = (int)TimeUnit.DAYS.toSeconds(3); @@ -147,17 +121,20 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { dict.waitAllTasksForTests(); } - public void testRandomWords() { + private void doTestRandomWords(final String testAccount) { Log.d(TAG, "This test can be used for profiling."); Log.d(TAG, "Usage: please set UserHistoryDictionary.PROFILE_SAVE_RESTORE to true."); final Locale dummyLocale = UserHistoryDictionaryTestsHelper.getDummyLocale("random_words"); final String dictName = UserHistoryDictionary.getUserHistoryDictName( - UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */, getContext()); + UserHistoryDictionary.NAME, dummyLocale, + null /* dictFile */, + testAccount /* account */); final File dictFile = ExpandableBinaryDictionary.getDictFile( mContext, dictName, null /* dictFile */); final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary( - getContext(), dummyLocale, TEST_ACCOUNT); + getContext(), dummyLocale, testAccount); clearHistory(dict); + final int numberOfWords = 1000; final Random random = new Random(123456); assertTrue(UserHistoryDictionaryTestsHelper.addAndWriteRandomWords( @@ -165,7 +142,23 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { assertDictionaryExists(dict, dictFile); } + public void testRandomWords_NullAccount() { + doTestRandomWords(null /* testAccount */); + } + + public void testRandomWords() { + doTestRandomWords(TEST_ACCOUNT); + } + public void testStressTestForSwitchingLanguagesAndAddingWords() { + doTestStressTestForSwitchingLanguagesAndAddingWords(TEST_ACCOUNT); + } + + public void testStressTestForSwitchingLanguagesAndAddingWords_NullAccount() { + doTestStressTestForSwitchingLanguagesAndAddingWords(null /* testAccount */); + } + + private void doTestStressTestForSwitchingLanguagesAndAddingWords(final String testAccount) { final int numberOfLanguages = 2; final int numberOfLanguageSwitching = 80; final int numberOfWordsInsertedForEachLanguageSwitch = 100; @@ -181,11 +174,12 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { final Locale dummyLocale = UserHistoryDictionaryTestsHelper.getDummyLocale("switching_languages" + i); final String dictName = UserHistoryDictionary.getUserHistoryDictName( - UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */, getContext()); + UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */, + testAccount /* account */); dictFiles[i] = ExpandableBinaryDictionary.getDictFile( mContext, dictName, null /* dictFile */); dicts[i] = PersonalizationHelper.getUserHistoryDictionary(getContext(), - dummyLocale, TEST_ACCOUNT); + dummyLocale, testAccount); clearHistory(dicts[i]); } @@ -212,16 +206,24 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { } public void testAddManyWords() { + doTestAddManyWords(TEST_ACCOUNT); + } + + public void testAddManyWords_NullAccount() { + doTestAddManyWords(null /* testAccount */); + } + + private void doTestAddManyWords(final String testAccount) { final Locale dummyLocale = UserHistoryDictionaryTestsHelper.getDummyLocale("many_random_words"); final String dictName = UserHistoryDictionary.getUserHistoryDictName( - UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */, getContext()); + UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */, testAccount); final File dictFile = ExpandableBinaryDictionary.getDictFile( mContext, dictName, null /* dictFile */); final int numberOfWords = 10000; final Random random = new Random(123456); final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary( - getContext(), dummyLocale, TEST_ACCOUNT); + getContext(), dummyLocale, testAccount); clearHistory(dict); assertTrue(UserHistoryDictionaryTestsHelper.addAndWriteRandomWords(dict, numberOfWords, random, true /* checksContents */, mCurrentTime)); @@ -229,9 +231,17 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { } public void testDecaying() { + doTestDecaying(TEST_ACCOUNT); + } + + public void testDecaying_NullAccount() { + doTestDecaying(null /* testAccount */); + } + + private void doTestDecaying(final String testAccount) { final Locale dummyLocale = UserHistoryDictionaryTestsHelper.getDummyLocale("decaying"); final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary( - getContext(), dummyLocale, TEST_ACCOUNT); + getContext(), dummyLocale, testAccount); resetCurrentTimeForTestMode(); clearHistory(dict); dict.waitAllTasksForTests(); @@ -262,9 +272,4 @@ public class UserHistoryDictionaryTests extends AndroidTestCase { assertFalse(dict.isInDictionary(word)); } } - - public void testRandomWords_NullAccount() { - updateAccountName(null); - testRandomWords(); - } }
\ No newline at end of file |