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

Commit e38097dc authored by Jean Chalard's avatar Jean Chalard
Browse files

Add tests for start composing

Bug: 10403176
Change-Id: I510bf1dccf6795426e6fb1b36181b18039a0f435
parent 2448159a
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -305,5 +305,33 @@ public class InputLogicTests extends InputTestsBase {
        assertEquals("resume suggestion on backspace", 8,
                BaseInputConnection.getComposingSpanEnd(mEditText.getText()));
    }

    private void helperTestComposing(final String wordToType, final boolean shouldBeComposing) {
        mEditText.setText("");
        type(wordToType);
        assertEquals("start composing inside text", shouldBeComposing ? 0 : -1,
                BaseInputConnection.getComposingSpanStart(mEditText.getText()));
        assertEquals("start composing inside text", shouldBeComposing ? wordToType.length() : -1,
                BaseInputConnection.getComposingSpanEnd(mEditText.getText()));
    }

    public void testStartComposing() {
        // Should start composing on a letter
        helperTestComposing("a", true);
        type("  "); // To reset the composing state
        // Should not start composing on quote
        helperTestComposing("'", false);
        type("  ");
        helperTestComposing("'-", false);
        type("  ");
        // Should not start composing on dash
        helperTestComposing("-", false);
        type("  ");
        helperTestComposing("-'", false);
        type("  ");
        helperTestComposing("a-", true);
        type("  ");
        helperTestComposing("a'", true);
    }
    // TODO: Add some tests for non-BMP characters
}