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

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

Separate flaky unit test from KeyboardLayoutSetTestsBase

Move the flaky unit test to KeyboardLayoutSetSubtypesCountTests.

Bug: 13291370
Bug: 13017434
Change-Id: I2144be4cc6b8215b895c45f47a5190fdeaa806f9
parent ddc21f5b
Loading
Loading
Loading
Loading
+60 −0
Original line number Original line Diff line number Diff line
/*
 * 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.keyboard;

import android.test.suitebuilder.annotation.SmallTest;
import android.view.inputmethod.InputMethodSubtype;

import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;

import java.util.ArrayList;

@SmallTest
public class KeyboardLayoutSetSubtypesCountTests extends KeyboardLayoutSetTestsBase {
    private static final int NUMBER_OF_SUBTYPES = 63;
    private static final int NUMBER_OF_ASCII_CAPABLE_SUBTYPES = 40;
    private static final int NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES = 2;

    private static String toString(final ArrayList<InputMethodSubtype> subtypeList) {
        final StringBuilder sb = new StringBuilder();
        for (int index = 0; index < subtypeList.size(); index++) {
            final InputMethodSubtype subtype = subtypeList.get(index);
            sb.append(index + ": ");
            sb.append(SubtypeLocaleUtils.getSubtypeNameForLogging(subtype));
            sb.append("\n");
        }
        return sb.toString();
    }

    public final void testAllSubtypesCount() {
        final ArrayList<InputMethodSubtype> allSubtypesList = getAllSubtypesList();
        assertEquals(toString(allSubtypesList), NUMBER_OF_SUBTYPES, allSubtypesList.size());
    }

    public final void testAsciiCapableSubtypesCount() {
        final ArrayList<InputMethodSubtype> asciiCapableSubtypesList =
                getAsciiCapableSubtypesList();
        assertEquals(toString(asciiCapableSubtypesList),
                NUMBER_OF_ASCII_CAPABLE_SUBTYPES, asciiCapableSubtypesList.size());
    }

    public final void testAdditionalSubtypesCount() {
        final ArrayList<InputMethodSubtype> additionalSubtypesList = getAdditionalSubtypesList();
        assertEquals(toString(additionalSubtypesList),
                NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES, additionalSubtypesList.size());
    }
}
+9 −27
Original line number Original line Diff line number Diff line
@@ -41,10 +41,6 @@ import java.util.Locale;


@SmallTest
@SmallTest
public class KeyboardLayoutSetTestsBase extends AndroidTestCase {
public class KeyboardLayoutSetTestsBase extends AndroidTestCase {
    private static final int NUMBER_OF_SUBTYPES = 63;
    private static final int NUMBER_OF_ASCII_CAPABLE_SUBTYPES = 40;
    private static final int NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES = 2;

    private static final KeyboardTheme DEFAULT_KEYBOARD_THEME =
    private static final KeyboardTheme DEFAULT_KEYBOARD_THEME =
            KeyboardSwitcher.KEYBOARD_THEMES[KeyboardSwitcher.THEME_INDEX_DEFAULT];
            KeyboardSwitcher.KEYBOARD_THEMES[KeyboardSwitcher.THEME_INDEX_DEFAULT];


@@ -82,35 +78,21 @@ public class KeyboardLayoutSetTestsBase extends AndroidTestCase {
        }
        }
    }
    }


    protected final boolean isPhone() {
    protected final ArrayList<InputMethodSubtype> getAllSubtypesList() {
        return mScreenMetrics == Constants.SCREEN_METRICS_SMALL_PHONE
        return mAllSubtypesList;
                || mScreenMetrics == Constants.SCREEN_METRICS_LARGE_PHONE;
    }

    private static String toString(final ArrayList<InputMethodSubtype> subtypeList) {
        final StringBuilder sb = new StringBuilder();
        for (int index = 0; index < subtypeList.size(); index++) {
            final InputMethodSubtype subtype = subtypeList.get(index);
            sb.append(index + ": ");
            sb.append(SubtypeLocaleUtils.getSubtypeNameForLogging(subtype));
            sb.append("\n");
        }
        return sb.toString();
    }
    }


    public final void testAllSubtypesCount() {
    protected final ArrayList<InputMethodSubtype> getAsciiCapableSubtypesList() {
        assertEquals(toString(mAllSubtypesList),
        return mAsciiCapableSubtypesList;
                NUMBER_OF_SUBTYPES, mAllSubtypesList.size());
    }
    }


    public final void testAsciiCapableSubtypesCount() {
    protected final ArrayList<InputMethodSubtype> getAdditionalSubtypesList() {
        assertEquals(toString(mAsciiCapableSubtypesList),
        return mAdditionalSubtypesList;
                NUMBER_OF_ASCII_CAPABLE_SUBTYPES, mAsciiCapableSubtypesList.size());
    }
    }


    public final void testAdditionalSubtypesCount() {
    protected final boolean isPhone() {
        assertEquals(toString(mAdditionalSubtypesList),
        return mScreenMetrics == Constants.SCREEN_METRICS_SMALL_PHONE
                NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES, mAdditionalSubtypesList.size());
                || mScreenMetrics == Constants.SCREEN_METRICS_LARGE_PHONE;
    }
    }


    protected final InputMethodSubtype getSubtype(final Locale locale,
    protected final InputMethodSubtype getSubtype(final Locale locale,