10d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard/* 20d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * Copyright (C) 2012 The Android Open Source Project 30d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * 40d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * Licensed under the Apache License, Version 2.0 (the "License"); you may not 50d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * use this file except in compliance with the License. You may obtain a copy of 60d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * the License at 70d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * 80d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * http://www.apache.org/licenses/LICENSE-2.0 90d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * 100d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * Unless required by applicable law or agreed to in writing, software 110d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 120d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 130d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * License for the specific language governing permissions and limitations under 140d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard * the License. 150d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard */ 160d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard 170d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalardpackage com.android.inputmethod.latin; 180d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard 19f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalardpublic class InputLogicTestsNonEnglish extends InputTestsBase { 200d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard 210d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard public void testAutoCorrectForFrench() { 220d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String STRING_TO_TYPE = "irq "; 230d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String EXPECTED_RESULT = "ira "; 240d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard changeLanguage("fr"); 250d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard type(STRING_TO_TYPE); 260d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard assertEquals("simple auto-correct for French", EXPECTED_RESULT, 270d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard mTextView.getText().toString()); 280d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard } 290d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard 300d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard public void testManualPickThenSeparatorForFrench() { 310d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String WORD1_TO_TYPE = "test"; 320d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String WORD2_TO_TYPE = "!"; 330d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String EXPECTED_RESULT = "test !"; 340d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard changeLanguage("fr"); 350d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard type(WORD1_TO_TYPE); 369bfb6202154e06d7156f2f374dd9359f1be4eb68Kurt Partridge pickSuggestionManually(0, WORD1_TO_TYPE); 370d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard type(WORD2_TO_TYPE); 380d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard assertEquals("manual pick then separator for French", EXPECTED_RESULT, 390d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard mTextView.getText().toString()); 400d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard } 410d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard 420d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard public void testWordThenSpaceThenPunctuationFromStripTwiceForFrench() { 430d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String WORD_TO_TYPE = "test "; 440d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String PUNCTUATION_FROM_STRIP = "!"; 450d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard final String EXPECTED_RESULT = "test !!"; 460d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard changeLanguage("fr"); 470d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard type(WORD_TO_TYPE); 480d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard sleep(DELAY_TO_WAIT_FOR_UNDERLINE); 490d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard runMessages(); 500d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard assertTrue("type word then type space should display punctuation strip", 510d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard mLatinIME.isShowingPunctuationList()); 529bfb6202154e06d7156f2f374dd9359f1be4eb68Kurt Partridge pickSuggestionManually(0, PUNCTUATION_FROM_STRIP); 539bfb6202154e06d7156f2f374dd9359f1be4eb68Kurt Partridge pickSuggestionManually(0, PUNCTUATION_FROM_STRIP); 540d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard assertEquals("type word then type space then punctuation from strip twice for French", 550d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard EXPECTED_RESULT, mTextView.getText().toString()); 560d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard } 57f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard 58f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard public void testAutoCorrectForGerman() { 59f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard final String STRING_TO_TYPE = "unf "; 60f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard final String EXPECTED_RESULT = "und "; 61f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard changeLanguage("de"); 62f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard type(STRING_TO_TYPE); 63f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard assertEquals("simple auto-correct for German", EXPECTED_RESULT, 64f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard mTextView.getText().toString()); 65f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard } 66f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard 67f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard public void testAutoCorrectWithUmlautForGerman() { 68f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard final String STRING_TO_TYPE = "ueber "; 69f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard final String EXPECTED_RESULT = "über "; 70f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard changeLanguage("de"); 71f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard type(STRING_TO_TYPE); 72f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard assertEquals("auto-correct with umlaut for German", EXPECTED_RESULT, 73f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard mTextView.getText().toString()); 74f338f8b50d276cfed2bafe6856792c675087ad15Jean Chalard } 750d708b0cf5eb4334995dc67ba4ad38b18467faebJean Chalard} 76