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/SpacingAndPunctuationsTests.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/SpacingAndPunctuationsTests.java')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/settings/SpacingAndPunctuationsTests.java | 499 |
1 files changed, 0 insertions, 499 deletions
diff --git a/tests/src/com/android/inputmethod/latin/settings/SpacingAndPunctuationsTests.java b/tests/src/com/android/inputmethod/latin/settings/SpacingAndPunctuationsTests.java deleted file mode 100644 index df44fba67..000000000 --- a/tests/src/com/android/inputmethod/latin/settings/SpacingAndPunctuationsTests.java +++ /dev/null @@ -1,499 +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.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import android.content.Context; -import android.content.res.Resources; - -import androidx.test.InstrumentationRegistry; -import androidx.test.filters.SmallTest; -import androidx.test.runner.AndroidJUnit4; - -import com.android.inputmethod.latin.SuggestedWords; -import com.android.inputmethod.latin.common.Constants; -import com.android.inputmethod.latin.utils.RunInLocale; - -import junit.framework.AssertionFailedError; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.util.Locale; - -@SmallTest -@RunWith(AndroidJUnit4.class) -public class SpacingAndPunctuationsTests { - private static final int ARMENIAN_FULL_STOP = '\u0589'; - private static final int ARMENIAN_COMMA = '\u055D'; - - private int mScreenMetrics; - - private Context getContext() { - return InstrumentationRegistry.getTargetContext(); - } - - private boolean isPhone() { - return Constants.isPhone(mScreenMetrics); - } - - private boolean isTablet() { - return Constants.isTablet(mScreenMetrics); - } - - private SpacingAndPunctuations ENGLISH; - private SpacingAndPunctuations FRENCH; - private SpacingAndPunctuations GERMAN; - private SpacingAndPunctuations ARMENIAN; - private SpacingAndPunctuations THAI; - private SpacingAndPunctuations KHMER; - private SpacingAndPunctuations LAO; - private SpacingAndPunctuations ARABIC; - private SpacingAndPunctuations PERSIAN; - private SpacingAndPunctuations HEBREW; - - private SpacingAndPunctuations UNITED_STATES; - private SpacingAndPunctuations UNITED_KINGDOM; - private SpacingAndPunctuations CANADA_FRENCH; - private SpacingAndPunctuations SWISS_GERMAN; - private SpacingAndPunctuations INDIA_ENGLISH; - private SpacingAndPunctuations ARMENIA_ARMENIAN; - private SpacingAndPunctuations CAMBODIA_KHMER; - private SpacingAndPunctuations LAOS_LAO; - - @Before - public void setUp() throws Exception { - mScreenMetrics = Settings.readScreenMetrics(getContext().getResources()); - - // Language only - ENGLISH = getSpacingAndPunctuations(Locale.ENGLISH); - FRENCH = getSpacingAndPunctuations(Locale.FRENCH); - GERMAN = getSpacingAndPunctuations(Locale.GERMAN); - THAI = getSpacingAndPunctuations(new Locale("th")); - ARMENIAN = getSpacingAndPunctuations(new Locale("hy")); - KHMER = getSpacingAndPunctuations(new Locale("km")); - LAO = getSpacingAndPunctuations(new Locale("lo")); - ARABIC = getSpacingAndPunctuations(new Locale("ar")); - PERSIAN = getSpacingAndPunctuations(new Locale("fa")); - HEBREW = getSpacingAndPunctuations(new Locale("iw")); - - // Language and Country - UNITED_STATES = getSpacingAndPunctuations(Locale.US); - UNITED_KINGDOM = getSpacingAndPunctuations(Locale.UK); - CANADA_FRENCH = getSpacingAndPunctuations(Locale.CANADA_FRENCH); - SWISS_GERMAN = getSpacingAndPunctuations(new Locale("de", "CH")); - INDIA_ENGLISH = getSpacingAndPunctuations(new Locale("en", "IN")); - ARMENIA_ARMENIAN = getSpacingAndPunctuations(new Locale("hy", "AM")); - CAMBODIA_KHMER = getSpacingAndPunctuations(new Locale("km", "KH")); - LAOS_LAO = getSpacingAndPunctuations(new Locale("lo", "LA")); - } - - private SpacingAndPunctuations getSpacingAndPunctuations(final Locale locale) { - final RunInLocale<SpacingAndPunctuations> job = new RunInLocale<SpacingAndPunctuations>() { - @Override - protected SpacingAndPunctuations job(Resources res) { - return new SpacingAndPunctuations(res); - } - }; - return job.runInLocale(getContext().getResources(), locale); - } - - private static void testingStandardWordSeparator(final SpacingAndPunctuations sp) { - assertTrue("Tab", sp.isWordSeparator('\t')); - assertTrue("Newline", sp.isWordSeparator('\n')); - assertTrue("Space", sp.isWordSeparator(' ')); - assertTrue("Exclamation", sp.isWordSeparator('!')); - assertTrue("Quotation", sp.isWordSeparator('"')); - assertFalse("Number", sp.isWordSeparator('#')); - assertFalse("Dollar", sp.isWordSeparator('$')); - assertFalse("Percent", sp.isWordSeparator('%')); - assertTrue("Ampersand", sp.isWordSeparator('&')); - assertFalse("Apostrophe", sp.isWordSeparator('\'')); - assertTrue("L Paren", sp.isWordSeparator('(')); - assertTrue("R Paren", sp.isWordSeparator(')')); - assertTrue("Asterisk", sp.isWordSeparator('*')); - assertTrue("Plus", sp.isWordSeparator('+')); - assertTrue("Comma", sp.isWordSeparator(',')); - assertFalse("Minus", sp.isWordSeparator('-')); - assertTrue("Period", sp.isWordSeparator('.')); - assertTrue("Slash", sp.isWordSeparator('/')); - assertTrue("Colon", sp.isWordSeparator(':')); - assertTrue("Semicolon", sp.isWordSeparator(';')); - assertTrue("L Angle", sp.isWordSeparator('<')); - assertTrue("Equal", sp.isWordSeparator('=')); - assertTrue("R Angle", sp.isWordSeparator('>')); - assertTrue("Question", sp.isWordSeparator('?')); - assertFalse("Atmark", sp.isWordSeparator('@')); - assertTrue("L S Bracket", sp.isWordSeparator('[')); - assertFalse("B Slash", sp.isWordSeparator('\\')); - assertTrue("R S Bracket", sp.isWordSeparator(']')); - assertFalse("Circumflex", sp.isWordSeparator('^')); - assertTrue("Underscore", sp.isWordSeparator('_')); - assertFalse("Grave", sp.isWordSeparator('`')); - assertTrue("L C Brace", sp.isWordSeparator('{')); - assertTrue("V Line", sp.isWordSeparator('|')); - assertTrue("R C Brace", sp.isWordSeparator('}')); - assertFalse("Tilde", sp.isWordSeparator('~')); - } - - @Test - public void testWordSeparator() { - testingStandardWordSeparator(ENGLISH); - testingStandardWordSeparator(FRENCH); - testingStandardWordSeparator(CANADA_FRENCH); - testingStandardWordSeparator(ARMENIA_ARMENIAN); - assertTrue(ARMENIA_ARMENIAN.isWordSeparator(ARMENIAN_FULL_STOP)); - assertTrue(ARMENIA_ARMENIAN.isWordSeparator(ARMENIAN_COMMA)); - // TODO: We should fix these. - testingStandardWordSeparator(ARMENIAN); - assertFalse(ARMENIAN.isWordSeparator(ARMENIAN_FULL_STOP)); - assertFalse(ARMENIAN.isWordSeparator(ARMENIAN_COMMA)); - } - - private static void testingStandardWordConnector(final SpacingAndPunctuations sp) { - assertFalse("Tab", sp.isWordConnector('\t')); - assertFalse("Newline", sp.isWordConnector('\n')); - assertFalse("Space", sp.isWordConnector(' ')); - assertFalse("Exclamation", sp.isWordConnector('!')); - assertFalse("Quotation", sp.isWordConnector('"')); - assertFalse("Number", sp.isWordConnector('#')); - assertFalse("Dollar", sp.isWordConnector('$')); - assertFalse("Percent", sp.isWordConnector('%')); - assertFalse("Ampersand", sp.isWordConnector('&')); - assertTrue("Apostrophe", sp.isWordConnector('\'')); - assertFalse("L Paren", sp.isWordConnector('(')); - assertFalse("R Paren", sp.isWordConnector(')')); - assertFalse("Asterisk", sp.isWordConnector('*')); - assertFalse("Plus", sp.isWordConnector('+')); - assertFalse("Comma", sp.isWordConnector(',')); - assertTrue("Minus", sp.isWordConnector('-')); - assertFalse("Period", sp.isWordConnector('.')); - assertFalse("Slash", sp.isWordConnector('/')); - assertFalse("Colon", sp.isWordConnector(':')); - assertFalse("Semicolon", sp.isWordConnector(';')); - assertFalse("L Angle", sp.isWordConnector('<')); - assertFalse("Equal", sp.isWordConnector('=')); - assertFalse("R Angle", sp.isWordConnector('>')); - assertFalse("Question", sp.isWordConnector('?')); - assertFalse("Atmark", sp.isWordConnector('@')); - assertFalse("L S Bracket", sp.isWordConnector('[')); - assertFalse("B Slash", sp.isWordConnector('\\')); - assertFalse("R S Bracket", sp.isWordConnector(']')); - assertFalse("Circumflex", sp.isWordConnector('^')); - assertFalse("Underscore", sp.isWordConnector('_')); - assertFalse("Grave", sp.isWordConnector('`')); - assertFalse("L C Brace", sp.isWordConnector('{')); - assertFalse("V Line", sp.isWordConnector('|')); - assertFalse("R C Brace", sp.isWordConnector('}')); - assertFalse("Tilde", sp.isWordConnector('~')); - - } - - @Test - public void testWordConnector() { - testingStandardWordConnector(ENGLISH); - testingStandardWordConnector(FRENCH); - testingStandardWordConnector(CANADA_FRENCH); - testingStandardWordConnector(ARMENIA_ARMENIAN); - } - - private static void testingCommonPrecededBySpace(final SpacingAndPunctuations sp) { - assertFalse("Tab", sp.isUsuallyPrecededBySpace('\t')); - assertFalse("Newline", sp.isUsuallyPrecededBySpace('\n')); - assertFalse("Space", sp.isUsuallyPrecededBySpace(' ')); - //assertFalse("Exclamation", sp.isUsuallyPrecededBySpace('!')); - assertFalse("Quotation", sp.isUsuallyPrecededBySpace('"')); - assertFalse("Number", sp.isUsuallyPrecededBySpace('#')); - assertFalse("Dollar", sp.isUsuallyPrecededBySpace('$')); - assertFalse("Percent", sp.isUsuallyPrecededBySpace('%')); - assertTrue("Ampersand", sp.isUsuallyPrecededBySpace('&')); - assertFalse("Apostrophe", sp.isUsuallyPrecededBySpace('\'')); - assertTrue("L Paren", sp.isUsuallyPrecededBySpace('(')); - assertFalse("R Paren", sp.isUsuallyPrecededBySpace(')')); - assertFalse("Asterisk", sp.isUsuallyPrecededBySpace('*')); - assertFalse("Plus", sp.isUsuallyPrecededBySpace('+')); - assertFalse("Comma", sp.isUsuallyPrecededBySpace(',')); - assertFalse("Minus", sp.isUsuallyPrecededBySpace('-')); - assertFalse("Period", sp.isUsuallyPrecededBySpace('.')); - assertFalse("Slash", sp.isUsuallyPrecededBySpace('/')); - //assertFalse("Colon", sp.isUsuallyPrecededBySpace(':')); - //assertFalse("Semicolon", sp.isUsuallyPrecededBySpace(';')); - assertFalse("L Angle", sp.isUsuallyPrecededBySpace('<')); - assertFalse("Equal", sp.isUsuallyPrecededBySpace('=')); - assertFalse("R Angle", sp.isUsuallyPrecededBySpace('>')); - //assertFalse("Question", sp.isUsuallyPrecededBySpace('?')); - assertFalse("Atmark", sp.isUsuallyPrecededBySpace('@')); - assertTrue("L S Bracket", sp.isUsuallyPrecededBySpace('[')); - assertFalse("B Slash", sp.isUsuallyPrecededBySpace('\\')); - assertFalse("R S Bracket", sp.isUsuallyPrecededBySpace(']')); - assertFalse("Circumflex", sp.isUsuallyPrecededBySpace('^')); - assertFalse("Underscore", sp.isUsuallyPrecededBySpace('_')); - assertFalse("Grave", sp.isUsuallyPrecededBySpace('`')); - assertTrue("L C Brace", sp.isUsuallyPrecededBySpace('{')); - assertFalse("V Line", sp.isUsuallyPrecededBySpace('|')); - assertFalse("R C Brace", sp.isUsuallyPrecededBySpace('}')); - assertFalse("Tilde", sp.isUsuallyPrecededBySpace('~')); - } - - private static void testingStandardPrecededBySpace(final SpacingAndPunctuations sp) { - testingCommonPrecededBySpace(sp); - assertFalse("Exclamation", sp.isUsuallyPrecededBySpace('!')); - assertFalse("Colon", sp.isUsuallyPrecededBySpace(':')); - assertFalse("Semicolon", sp.isUsuallyPrecededBySpace(';')); - assertFalse("Question", sp.isUsuallyPrecededBySpace('?')); - } - - @Test - public void testIsUsuallyPrecededBySpace() { - testingStandardPrecededBySpace(ENGLISH); - testingCommonPrecededBySpace(FRENCH); - assertTrue("Exclamation", FRENCH.isUsuallyPrecededBySpace('!')); - assertTrue("Colon", FRENCH.isUsuallyPrecededBySpace(':')); - assertTrue("Semicolon", FRENCH.isUsuallyPrecededBySpace(';')); - assertTrue("Question", FRENCH.isUsuallyPrecededBySpace('?')); - testingCommonPrecededBySpace(CANADA_FRENCH); - assertFalse("Exclamation", CANADA_FRENCH.isUsuallyPrecededBySpace('!')); - assertTrue("Colon", CANADA_FRENCH.isUsuallyPrecededBySpace(':')); - assertFalse("Semicolon", CANADA_FRENCH.isUsuallyPrecededBySpace(';')); - assertFalse("Question", CANADA_FRENCH.isUsuallyPrecededBySpace('?')); - testingStandardPrecededBySpace(ARMENIA_ARMENIAN); - } - - private static void testingStandardFollowedBySpace(final SpacingAndPunctuations sp) { - assertFalse("Tab", sp.isUsuallyFollowedBySpace('\t')); - assertFalse("Newline", sp.isUsuallyFollowedBySpace('\n')); - assertFalse("Space", sp.isUsuallyFollowedBySpace(' ')); - assertTrue("Exclamation", sp.isUsuallyFollowedBySpace('!')); - assertFalse("Quotation", sp.isUsuallyFollowedBySpace('"')); - assertFalse("Number", sp.isUsuallyFollowedBySpace('#')); - assertFalse("Dollar", sp.isUsuallyFollowedBySpace('$')); - assertFalse("Percent", sp.isUsuallyFollowedBySpace('%')); - assertTrue("Ampersand", sp.isUsuallyFollowedBySpace('&')); - assertFalse("Apostrophe", sp.isUsuallyFollowedBySpace('\'')); - assertFalse("L Paren", sp.isUsuallyFollowedBySpace('(')); - assertTrue("R Paren", sp.isUsuallyFollowedBySpace(')')); - assertFalse("Asterisk", sp.isUsuallyFollowedBySpace('*')); - assertFalse("Plus", sp.isUsuallyFollowedBySpace('+')); - assertTrue("Comma", sp.isUsuallyFollowedBySpace(',')); - assertFalse("Minus", sp.isUsuallyFollowedBySpace('-')); - assertTrue("Period", sp.isUsuallyFollowedBySpace('.')); - assertFalse("Slash", sp.isUsuallyFollowedBySpace('/')); - assertTrue("Colon", sp.isUsuallyFollowedBySpace(':')); - assertTrue("Semicolon", sp.isUsuallyFollowedBySpace(';')); - assertFalse("L Angle", sp.isUsuallyFollowedBySpace('<')); - assertFalse("Equal", sp.isUsuallyFollowedBySpace('=')); - assertFalse("R Angle", sp.isUsuallyFollowedBySpace('>')); - assertTrue("Question", sp.isUsuallyFollowedBySpace('?')); - assertFalse("Atmark", sp.isUsuallyFollowedBySpace('@')); - assertFalse("L S Bracket", sp.isUsuallyFollowedBySpace('[')); - assertFalse("B Slash", sp.isUsuallyFollowedBySpace('\\')); - assertTrue("R S Bracket", sp.isUsuallyFollowedBySpace(']')); - assertFalse("Circumflex", sp.isUsuallyFollowedBySpace('^')); - assertFalse("Underscore", sp.isUsuallyFollowedBySpace('_')); - assertFalse("Grave", sp.isUsuallyFollowedBySpace('`')); - assertFalse("L C Brace", sp.isUsuallyFollowedBySpace('{')); - assertFalse("V Line", sp.isUsuallyFollowedBySpace('|')); - assertTrue("R C Brace", sp.isUsuallyFollowedBySpace('}')); - assertFalse("Tilde", sp.isUsuallyFollowedBySpace('~')); - } - - @Test - public void testIsUsuallyFollowedBySpace() { - testingStandardFollowedBySpace(ENGLISH); - testingStandardFollowedBySpace(FRENCH); - testingStandardFollowedBySpace(CANADA_FRENCH); - testingStandardFollowedBySpace(ARMENIA_ARMENIAN); - assertTrue(ARMENIA_ARMENIAN.isUsuallyFollowedBySpace(ARMENIAN_FULL_STOP)); - assertTrue(ARMENIA_ARMENIAN.isUsuallyFollowedBySpace(ARMENIAN_COMMA)); - } - - private static void testingStandardSentenceSeparator(final SpacingAndPunctuations sp) { - assertFalse("Tab", sp.isUsuallyFollowedBySpace('\t')); - assertFalse("Newline", sp.isUsuallyFollowedBySpace('\n')); - assertFalse("Space", sp.isUsuallyFollowedBySpace(' ')); - assertFalse("Exclamation", sp.isUsuallyFollowedBySpace('!')); - assertFalse("Quotation", sp.isUsuallyFollowedBySpace('"')); - assertFalse("Number", sp.isUsuallyFollowedBySpace('#')); - assertFalse("Dollar", sp.isUsuallyFollowedBySpace('$')); - assertFalse("Percent", sp.isUsuallyFollowedBySpace('%')); - assertFalse("Ampersand", sp.isUsuallyFollowedBySpace('&')); - assertFalse("Apostrophe", sp.isUsuallyFollowedBySpace('\'')); - assertFalse("L Paren", sp.isUsuallyFollowedBySpace('(')); - assertFalse("R Paren", sp.isUsuallyFollowedBySpace(')')); - assertFalse("Asterisk", sp.isUsuallyFollowedBySpace('*')); - assertFalse("Plus", sp.isUsuallyFollowedBySpace('+')); - assertFalse("Comma", sp.isUsuallyFollowedBySpace(',')); - assertFalse("Minus", sp.isUsuallyFollowedBySpace('-')); - assertTrue("Period", sp.isUsuallyFollowedBySpace('.')); - assertFalse("Slash", sp.isUsuallyFollowedBySpace('/')); - assertFalse("Colon", sp.isUsuallyFollowedBySpace(':')); - assertFalse("Semicolon", sp.isUsuallyFollowedBySpace(';')); - assertFalse("L Angle", sp.isUsuallyFollowedBySpace('<')); - assertFalse("Equal", sp.isUsuallyFollowedBySpace('=')); - assertFalse("R Angle", sp.isUsuallyFollowedBySpace('>')); - assertFalse("Question", sp.isUsuallyFollowedBySpace('?')); - assertFalse("Atmark", sp.isUsuallyFollowedBySpace('@')); - assertFalse("L S Bracket", sp.isUsuallyFollowedBySpace('[')); - assertFalse("B Slash", sp.isUsuallyFollowedBySpace('\\')); - assertFalse("R S Bracket", sp.isUsuallyFollowedBySpace(']')); - assertFalse("Circumflex", sp.isUsuallyFollowedBySpace('^')); - assertFalse("Underscore", sp.isUsuallyFollowedBySpace('_')); - assertFalse("Grave", sp.isUsuallyFollowedBySpace('`')); - assertFalse("L C Brace", sp.isUsuallyFollowedBySpace('{')); - assertFalse("V Line", sp.isUsuallyFollowedBySpace('|')); - assertFalse("R C Brace", sp.isUsuallyFollowedBySpace('}')); - assertFalse("Tilde", sp.isUsuallyFollowedBySpace('~')); - } - - @Test - public void testIsSentenceSeparator() { - testingStandardSentenceSeparator(ENGLISH); - try { - testingStandardSentenceSeparator(ARMENIA_ARMENIAN); - fail("Armenian Sentence Separator"); - } catch (final AssertionFailedError e) { - assertEquals("Period", e.getMessage()); - } - assertTrue(ARMENIA_ARMENIAN.isSentenceSeparator(ARMENIAN_FULL_STOP)); - assertFalse(ARMENIA_ARMENIAN.isSentenceSeparator(ARMENIAN_COMMA)); - } - - @Test - public void testLanguageHasSpace() { - assertTrue(ENGLISH.mCurrentLanguageHasSpaces); - assertTrue(FRENCH.mCurrentLanguageHasSpaces); - assertTrue(GERMAN.mCurrentLanguageHasSpaces); - assertFalse(THAI.mCurrentLanguageHasSpaces); - assertFalse(CAMBODIA_KHMER.mCurrentLanguageHasSpaces); - assertFalse(LAOS_LAO.mCurrentLanguageHasSpaces); - // TODO: We should fix these. - assertTrue(KHMER.mCurrentLanguageHasSpaces); - assertTrue(LAO.mCurrentLanguageHasSpaces); - } - - @Test - public void testUsesAmericanTypography() { - assertTrue(ENGLISH.mUsesAmericanTypography); - assertTrue(UNITED_STATES.mUsesAmericanTypography); - assertTrue(UNITED_KINGDOM.mUsesAmericanTypography); - assertTrue(INDIA_ENGLISH.mUsesAmericanTypography); - assertFalse(FRENCH.mUsesAmericanTypography); - assertFalse(GERMAN.mUsesAmericanTypography); - assertFalse(SWISS_GERMAN.mUsesAmericanTypography); - } - - @Test - public void testUsesGermanRules() { - assertFalse(ENGLISH.mUsesGermanRules); - assertFalse(FRENCH.mUsesGermanRules); - assertTrue(GERMAN.mUsesGermanRules); - assertTrue(SWISS_GERMAN.mUsesGermanRules); - } - - // Punctuations for phone. - private static final String[] PUNCTUATION_LABELS_PHONE = { - "!", "?", ",", ":", ";", "\"", "(", ")", "'", "-", "/", "@", "_" - }; - private static final String[] PUNCTUATION_WORDS_PHONE_LTR = PUNCTUATION_LABELS_PHONE; - private static final String[] PUNCTUATION_WORDS_PHONE_HEBREW = { - "!", "?", ",", ":", ";", "\"", ")", "(", "'", "-", "/", "@", "_" - }; - // U+061F: "؟" ARABIC QUESTION MARK - // U+060C: "،" ARABIC COMMA - // U+061B: "؛" ARABIC SEMICOLON - private static final String[] PUNCTUATION_LABELS_PHONE_ARABIC_PERSIAN = { - "!", "\u061F", "\u060C", ":", "\u061B", "\"", "(", ")", "'", "-", "/", "@", "_" - }; - private static final String[] PUNCTUATION_WORDS_PHONE_ARABIC_PERSIAN = { - "!", "\u061F", "\u060C", ":", "\u061B", "\"", ")", "(", "'", "-", "/", "@", "_" - }; - - // Punctuations for tablet. - private static final String[] PUNCTUATION_LABELS_TABLET = { - ":", ";", "\"", "(", ")", "'", "-", "/", "@", "_" - }; - private static final String[] PUNCTUATION_WORDS_TABLET_LTR = PUNCTUATION_LABELS_TABLET; - private static final String[] PUNCTUATION_WORDS_TABLET_HEBREW = { - ":", ";", "\"", ")", "(", "'", "-", "/", "@", "_" - }; - private static final String[] PUNCTUATION_LABELS_TABLET_ARABIC_PERSIAN = { - "!", "\u061F", ":", "\u061B", "\"", "'", "(", ")", "-", "/", "@", "_" - }; - private static final String[] PUNCTUATION_WORDS_TABLET_ARABIC_PERSIAN = { - "!", "\u061F", ":", "\u061B", "\"", "'", ")", "(", "-", "/", "@", "_" - }; - - private static void testingStandardPunctuationSuggestions(final SpacingAndPunctuations sp, - final String[] punctuationLabels, final String[] punctuationWords) { - final SuggestedWords suggestedWords = sp.mSuggestPuncList; - assertFalse("typedWordValid", suggestedWords.mTypedWordValid); - assertFalse("willAutoCorrect", suggestedWords.mWillAutoCorrect); - assertTrue("isPunctuationSuggestions", suggestedWords.isPunctuationSuggestions()); - assertFalse("isObsoleteSuggestions", suggestedWords.mIsObsoleteSuggestions); - assertFalse("isPrediction", suggestedWords.isPrediction()); - assertEquals("size", punctuationLabels.length, suggestedWords.size()); - for (int index = 0; index < suggestedWords.size(); index++) { - assertEquals("punctuation label at " + index, - punctuationLabels[index], suggestedWords.getLabel(index)); - assertEquals("punctuation word at " + index, - punctuationWords[index], suggestedWords.getWord(index)); - } - } - - @Test - public void testPhonePunctuationSuggestions() { - if (!isPhone()) { - return; - } - testingStandardPunctuationSuggestions(ENGLISH, - PUNCTUATION_LABELS_PHONE, PUNCTUATION_WORDS_PHONE_LTR); - testingStandardPunctuationSuggestions(FRENCH, - PUNCTUATION_LABELS_PHONE, PUNCTUATION_WORDS_PHONE_LTR); - testingStandardPunctuationSuggestions(GERMAN, - PUNCTUATION_LABELS_PHONE, PUNCTUATION_WORDS_PHONE_LTR); - testingStandardPunctuationSuggestions(ARABIC, - PUNCTUATION_LABELS_PHONE_ARABIC_PERSIAN, PUNCTUATION_WORDS_PHONE_ARABIC_PERSIAN); - testingStandardPunctuationSuggestions(PERSIAN, - PUNCTUATION_LABELS_PHONE_ARABIC_PERSIAN, PUNCTUATION_WORDS_PHONE_ARABIC_PERSIAN); - testingStandardPunctuationSuggestions(HEBREW, - PUNCTUATION_LABELS_PHONE, PUNCTUATION_WORDS_PHONE_HEBREW); - } - - @Test - public void testTabletPunctuationSuggestions() { - if (!isTablet()) { - return; - } - testingStandardPunctuationSuggestions(ENGLISH, - PUNCTUATION_LABELS_TABLET, PUNCTUATION_WORDS_TABLET_LTR); - testingStandardPunctuationSuggestions(FRENCH, - PUNCTUATION_LABELS_TABLET, PUNCTUATION_WORDS_TABLET_LTR); - testingStandardPunctuationSuggestions(GERMAN, - PUNCTUATION_LABELS_TABLET, PUNCTUATION_WORDS_TABLET_LTR); - testingStandardPunctuationSuggestions(ARABIC, - PUNCTUATION_LABELS_TABLET_ARABIC_PERSIAN, PUNCTUATION_WORDS_TABLET_ARABIC_PERSIAN); - testingStandardPunctuationSuggestions(PERSIAN, - PUNCTUATION_LABELS_TABLET_ARABIC_PERSIAN, PUNCTUATION_WORDS_TABLET_ARABIC_PERSIAN); - testingStandardPunctuationSuggestions(HEBREW, - PUNCTUATION_LABELS_TABLET, PUNCTUATION_WORDS_TABLET_HEBREW); - } -} |