Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4b0add3 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Fix SpacingAndPunctuationsTests due to I2219224840

Bug: 12640318
Change-Id: If0b0696b937c580d69cb909ddaf414d01ea2c01b
parent e422c946
Loading
Loading
Loading
Loading
+28 −12
Original line number Diff line number Diff line
@@ -373,37 +373,53 @@ public class SpacingAndPunctuationsTests extends AndroidTestCase {
        assertTrue(SWISS_GERMAN.mUsesGermanRules);
    }

    private static final String[] PUNCTUATION_LABELS = {
    private static final String[] PUNCTUATION_LABELS_LTR = {
        "!", "?", ",", ":", ";", "\"", "(", ")", "'", "-", "/", "@", "_"
    };
    private static final String[] PUNCTUATION_WORDS_LTR = PUNCTUATION_LABELS;
    private static final String[] PUNCTUATION_WORDS_RTL = {
    private static final String[] PUNCTUATION_WORDS_LTR = PUNCTUATION_LABELS_LTR;
    private static final String[] PUNCTUATION_WORDS_HEBREW = {
        "!", "?", ",", ":", ";", "\"", ")", "(", "'", "-", "/", "@", "_"
    };
    // U+061F: "؟" ARABIC QUESTION MARK
    // U+060C: "،" ARABIC COMMA
    // U+061B: "؛" ARABIC SEMICOLON
    private static final String[] PUNCTUATION_LABELS_ARABIC_PERSIAN = {
        "!", "\u061F", "\u060C", ":", "\u061B", "\"", "(", ")", "'", "-", "/", "@", "_"
    };
    private static final String[] PUNCTUATION_WORDS_ARABIC_PERSIAN = {
        "!", "\u061F", "\u060C", ":", "\u061B", "\"", ")", "(", "'", "-", "/", "@", "_"
    };

    private static void testingStandardPunctuationSuggestions(final SpacingAndPunctuations sp,
            final String[] punctuationWords) {
            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.mIsPrediction);
        assertEquals("size", PUNCTUATION_LABELS.length, suggestedWords.size());
        assertEquals("size", punctuationLabels.length, suggestedWords.size());
        for (int index = 0; index < suggestedWords.size(); index++) {
            assertEquals("punctuation label at " + index,
                    PUNCTUATION_LABELS[index], suggestedWords.getLabel(index));
                    punctuationLabels[index], suggestedWords.getLabel(index));
            assertEquals("punctuation word at " + index,
                    punctuationWords[index], suggestedWords.getWord(index));
        }
    }

    // TODO: Add tests for tablet as well
    public void testPunctuationSuggestions() {
        testingStandardPunctuationSuggestions(ENGLISH, PUNCTUATION_WORDS_LTR);
        testingStandardPunctuationSuggestions(FRENCH, PUNCTUATION_WORDS_LTR);
        testingStandardPunctuationSuggestions(GERMAN, PUNCTUATION_WORDS_LTR);
        testingStandardPunctuationSuggestions(ARABIC, PUNCTUATION_WORDS_RTL);
        testingStandardPunctuationSuggestions(PERSIAN, PUNCTUATION_WORDS_RTL);
        testingStandardPunctuationSuggestions(HEBREW, PUNCTUATION_WORDS_RTL);
        testingStandardPunctuationSuggestions(ENGLISH,
                PUNCTUATION_LABELS_LTR, PUNCTUATION_WORDS_LTR);
        testingStandardPunctuationSuggestions(FRENCH,
                PUNCTUATION_LABELS_LTR, PUNCTUATION_WORDS_LTR);
        testingStandardPunctuationSuggestions(GERMAN,
                PUNCTUATION_LABELS_LTR, PUNCTUATION_WORDS_LTR);
        testingStandardPunctuationSuggestions(ARABIC,
                PUNCTUATION_LABELS_ARABIC_PERSIAN, PUNCTUATION_WORDS_ARABIC_PERSIAN);
        testingStandardPunctuationSuggestions(PERSIAN,
                PUNCTUATION_LABELS_ARABIC_PERSIAN, PUNCTUATION_WORDS_ARABIC_PERSIAN);
        testingStandardPunctuationSuggestions(HEBREW,
                PUNCTUATION_LABELS_LTR, PUNCTUATION_WORDS_HEBREW);
    }
}