Skip to content
Snippets Groups Projects
Commit e03e4257 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Add test only methods to test personalized dicts."

parents 21f94829 d36328ce
No related branches found
No related tags found
No related merge requests found
...@@ -237,6 +237,24 @@ public class DictionaryFacilitatorForSuggest { ...@@ -237,6 +237,24 @@ public class DictionaryFacilitatorForSuggest {
mLatchForWaitingLoadingMainDictionary.await(timeout, unit); mLatchForWaitingLoadingMainDictionary.await(timeout, unit);
} }
@UsedForTesting
public void waitForLoadingDictionariesForTesting(final long timeout, final TimeUnit unit)
throws InterruptedException {
waitForLoadingMainDictionary(timeout, unit);
if (mContactsDictionary != null) {
mContactsDictionary.waitAllTasksForTests();
}
if (mUserDictionary != null) {
mUserDictionary.waitAllTasksForTests();
}
if (mUserHistoryDictionary != null) {
mUserHistoryDictionary.waitAllTasksForTests();
}
if (mPersonalizationDictionary != null) {
mPersonalizationDictionary.waitAllTasksForTests();
}
}
private void setMainDictionary(final Dictionary mainDictionary) { private void setMainDictionary(final Dictionary mainDictionary) {
mMainDictionary = mainDictionary; mMainDictionary = mainDictionary;
addOrReplaceDictionary(Dictionary.TYPE_MAIN, mainDictionary); addOrReplaceDictionary(Dictionary.TYPE_MAIN, mainDictionary);
......
...@@ -1717,9 +1717,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ...@@ -1717,9 +1717,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// DO NOT USE THIS for any other purpose than testing. This is information private to LatinIME. // DO NOT USE THIS for any other purpose than testing. This is information private to LatinIME.
@UsedForTesting @UsedForTesting
/* package for test */ void waitForMainDictionary(final long timeout, final TimeUnit unit) /* package for test */ void waitForLoadingDictionaries(final long timeout, final TimeUnit unit)
throws InterruptedException { throws InterruptedException {
mInputLogic.mSuggest.mDictionaryFacilitator.waitForLoadingMainDictionary(timeout, unit); mInputLogic.mSuggest.mDictionaryFacilitator.waitForLoadingDictionariesForTesting(
timeout, unit);
} }
// DO NOT USE THIS for any other purpose than testing. This can break the keyboard badly. // DO NOT USE THIS for any other purpose than testing. This can break the keyboard badly.
...@@ -1733,6 +1734,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ...@@ -1733,6 +1734,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
resetSuggest(new Suggest(locale, dictionaryFacilitator)); resetSuggest(new Suggest(locale, dictionaryFacilitator));
} }
// DO NOT USE THIS for any other purpose than testing.
@UsedForTesting
/* package for test */ void clearPersonalizedDictionariesForTest() {
mInputLogic.mSuggest.mDictionaryFacilitator.clearUserHistoryDictionary();
mInputLogic.mSuggest.mDictionaryFacilitator.clearPersonalizationDictionary();
}
public void dumpDictionaryForDebug(final String dictName) { public void dumpDictionaryForDebug(final String dictName) {
if (mInputLogic.mSuggest == null) { if (mInputLogic.mSuggest == null) {
initSuggest(); initSuggest();
......
...@@ -275,9 +275,9 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { ...@@ -275,9 +275,9 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
} }
} }
protected void waitForDictionaryToBeLoaded() { protected void waitForDictionariesToBeLoaded() {
try { try {
mLatinIME.waitForMainDictionary( mLatinIME.waitForLoadingDictionaries(
TIMEOUT_TO_WAIT_FOR_LOADING_MAIN_DICTIONARY_IN_SECONDS, TimeUnit.SECONDS); TIMEOUT_TO_WAIT_FOR_LOADING_MAIN_DICTIONARY_IN_SECONDS, TimeUnit.SECONDS);
} catch (InterruptedException e) { } catch (InterruptedException e) {
Log.e(TAG, "Interrupted during waiting for loading main dictionary.", e); Log.e(TAG, "Interrupted during waiting for loading main dictionary.", e);
...@@ -286,7 +286,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { ...@@ -286,7 +286,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
protected void changeLanguage(final String locale) { protected void changeLanguage(final String locale) {
changeLanguageWithoutWait(locale); changeLanguageWithoutWait(locale);
waitForDictionaryToBeLoaded(); waitForDictionariesToBeLoaded();
} }
protected void changeLanguageWithoutWait(final String locale) { protected void changeLanguageWithoutWait(final String locale) {
...@@ -314,6 +314,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { ...@@ -314,6 +314,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
mLatinIME.loadKeyboard(); mLatinIME.loadKeyboard();
runMessages(); runMessages();
mKeyboard = mLatinIME.mKeyboardSwitcher.getKeyboard(); mKeyboard = mLatinIME.mKeyboardSwitcher.getKeyboard();
mLatinIME.clearPersonalizedDictionariesForTest();
} }
protected void changeKeyboardLocaleAndDictLocale(final String keyboardLocale, protected void changeKeyboardLocaleAndDictLocale(final String keyboardLocale,
...@@ -322,7 +323,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { ...@@ -322,7 +323,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
if (!keyboardLocale.equals(dictLocale)) { if (!keyboardLocale.equals(dictLocale)) {
mLatinIME.replaceDictionariesForTest(LocaleUtils.constructLocaleFromString(dictLocale)); mLatinIME.replaceDictionariesForTest(LocaleUtils.constructLocaleFromString(dictLocale));
} }
waitForDictionaryToBeLoaded(); waitForDictionariesToBeLoaded();
} }
protected void pickSuggestionManually(final int index, final String suggestion) { protected void pickSuggestionManually(final int index, final String suggestion) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment