2012-12-03 13:00:35 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2013 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.
|
|
|
|
*/
|
|
|
|
|
2013-06-23 16:11:32 +00:00
|
|
|
package com.android.inputmethod.latin.utils;
|
2012-12-03 13:00:35 +00:00
|
|
|
|
2018-07-05 20:45:04 +00:00
|
|
|
import static org.junit.Assert.assertEquals;
|
|
|
|
|
2018-12-14 03:06:42 +00:00
|
|
|
import androidx.test.filters.SmallTest;
|
|
|
|
import androidx.test.runner.AndroidJUnit4;
|
2012-12-03 13:00:35 +00:00
|
|
|
|
2014-10-23 09:37:32 +00:00
|
|
|
import com.android.inputmethod.latin.common.Constants;
|
2014-01-20 05:56:56 +00:00
|
|
|
|
2018-07-05 20:45:04 +00:00
|
|
|
import org.junit.Test;
|
|
|
|
import org.junit.runner.RunWith;
|
|
|
|
|
2018-12-14 03:06:42 +00:00
|
|
|
import java.util.Locale;
|
|
|
|
|
2012-12-03 13:00:35 +00:00
|
|
|
@SmallTest
|
2018-07-05 20:45:04 +00:00
|
|
|
@RunWith(AndroidJUnit4.class)
|
|
|
|
public class RecapitalizeStatusTests {
|
2014-01-20 05:56:56 +00:00
|
|
|
private static final int[] SPACE = { Constants.CODE_SPACE };
|
|
|
|
|
2018-07-05 20:45:04 +00:00
|
|
|
@Test
|
2012-12-03 13:00:35 +00:00
|
|
|
public void testTrim() {
|
2013-04-16 03:44:39 +00:00
|
|
|
final RecapitalizeStatus status = new RecapitalizeStatus();
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 40, "abcdefghij", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.trim();
|
|
|
|
assertEquals("abcdefghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(40, status.getNewCursorEnd());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 44, " abcdefghij", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.trim();
|
|
|
|
assertEquals("abcdefghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(34, status.getNewCursorStart());
|
|
|
|
assertEquals(44, status.getNewCursorEnd());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 40, "abcdefgh ", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.trim();
|
|
|
|
assertEquals("abcdefgh", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(38, status.getNewCursorEnd());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 45, " abcdefghij ", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.trim();
|
|
|
|
assertEquals("abcdefghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(33, status.getNewCursorStart());
|
|
|
|
assertEquals(43, status.getNewCursorEnd());
|
|
|
|
}
|
|
|
|
|
2018-07-05 20:45:04 +00:00
|
|
|
@Test
|
2012-12-03 13:00:35 +00:00
|
|
|
public void testRotate() {
|
2013-04-16 03:44:39 +00:00
|
|
|
final RecapitalizeStatus status = new RecapitalizeStatus();
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(29, 40, "abcd efghij", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcd Efghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(29, status.getNewCursorStart());
|
|
|
|
assertEquals(40, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcd efghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcd Efghij", status.getRecapitalizedString());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(29, 40, "Abcd Efghij", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.rotate();
|
|
|
|
assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
|
|
|
|
assertEquals(29, status.getNewCursorStart());
|
|
|
|
assertEquals(40, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcd efghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcd Efghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(29, 40, "ABCD EFGHIJ", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcd efghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(29, status.getNewCursorStart());
|
|
|
|
assertEquals(40, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcd Efghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcd efghij", status.getRecapitalizedString());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(29, 39, "AbCDefghij", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcdefghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(29, status.getNewCursorStart());
|
|
|
|
assertEquals(39, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcdefghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ABCDEFGHIJ", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("AbCDefghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcdefghij", status.getRecapitalizedString());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(29, 40, "Abcd efghij", Locale.ENGLISH, SPACE);
|
2012-12-03 13:00:35 +00:00
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcd efghij", status.getRecapitalizedString());
|
|
|
|
assertEquals(29, status.getNewCursorStart());
|
|
|
|
assertEquals(40, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcd Efghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Abcd efghij", status.getRecapitalizedString());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("abcd efghij", status.getRecapitalizedString());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 34, "grüß", Locale.GERMAN, SPACE);
|
2014-01-20 05:56:56 +00:00
|
|
|
status.rotate();
|
2012-12-03 13:00:35 +00:00
|
|
|
assertEquals("Grüß", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(34, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("GRÜSS", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(35, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("grüß", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(34, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Grüß", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(34, status.getNewCursorEnd());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 33, "œuf", Locale.FRENCH, SPACE);
|
2014-01-20 05:56:56 +00:00
|
|
|
status.rotate();
|
2012-12-03 13:00:35 +00:00
|
|
|
assertEquals("Œuf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ŒUF", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("œuf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Œuf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 33, "œUf", Locale.FRENCH, SPACE);
|
2014-01-20 05:56:56 +00:00
|
|
|
status.rotate();
|
2012-12-03 13:00:35 +00:00
|
|
|
assertEquals("œuf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("Œuf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ŒUF", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("œUf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("œuf", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(33, status.getNewCursorEnd());
|
|
|
|
|
2014-06-04 06:19:10 +00:00
|
|
|
status.start(30, 35, "école", Locale.FRENCH, SPACE);
|
2014-01-20 05:56:56 +00:00
|
|
|
status.rotate();
|
2012-12-03 13:00:35 +00:00
|
|
|
assertEquals("École", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(35, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("ÉCOLE", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(35, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("école", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(35, status.getNewCursorEnd());
|
|
|
|
status.rotate();
|
|
|
|
assertEquals("École", status.getRecapitalizedString());
|
|
|
|
assertEquals(30, status.getNewCursorStart());
|
|
|
|
assertEquals(35, status.getNewCursorEnd());
|
|
|
|
}
|
|
|
|
}
|