• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2013 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.inputmethod.latin.utils;
18 
19 import android.test.AndroidTestCase;
20 import android.test.suitebuilder.annotation.SmallTest;
21 
22 import com.android.inputmethod.latin.common.Constants;
23 
24 import java.util.Locale;
25 
26 @SmallTest
27 public class RecapitalizeStatusTests extends AndroidTestCase {
28     private static final int[] SPACE = { Constants.CODE_SPACE };
29 
testTrim()30     public void testTrim() {
31         final RecapitalizeStatus status = new RecapitalizeStatus();
32         status.start(30, 40, "abcdefghij", Locale.ENGLISH, SPACE);
33         status.trim();
34         assertEquals("abcdefghij", status.getRecapitalizedString());
35         assertEquals(30, status.getNewCursorStart());
36         assertEquals(40, status.getNewCursorEnd());
37 
38         status.start(30, 44, "    abcdefghij", Locale.ENGLISH, SPACE);
39         status.trim();
40         assertEquals("abcdefghij", status.getRecapitalizedString());
41         assertEquals(34, status.getNewCursorStart());
42         assertEquals(44, status.getNewCursorEnd());
43 
44         status.start(30, 40, "abcdefgh  ", Locale.ENGLISH, SPACE);
45         status.trim();
46         assertEquals("abcdefgh", status.getRecapitalizedString());
47         assertEquals(30, status.getNewCursorStart());
48         assertEquals(38, status.getNewCursorEnd());
49 
50         status.start(30, 45, "   abcdefghij  ", Locale.ENGLISH, SPACE);
51         status.trim();
52         assertEquals("abcdefghij", status.getRecapitalizedString());
53         assertEquals(33, status.getNewCursorStart());
54         assertEquals(43, status.getNewCursorEnd());
55     }
56 
testRotate()57     public void testRotate() {
58         final RecapitalizeStatus status = new RecapitalizeStatus();
59         status.start(29, 40, "abcd efghij", Locale.ENGLISH, SPACE);
60         status.rotate();
61         assertEquals("Abcd Efghij", status.getRecapitalizedString());
62         assertEquals(29, status.getNewCursorStart());
63         assertEquals(40, status.getNewCursorEnd());
64         status.rotate();
65         assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
66         status.rotate();
67         assertEquals("abcd efghij", status.getRecapitalizedString());
68         status.rotate();
69         assertEquals("Abcd Efghij", status.getRecapitalizedString());
70 
71         status.start(29, 40, "Abcd Efghij", Locale.ENGLISH, SPACE);
72         status.rotate();
73         assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
74         assertEquals(29, status.getNewCursorStart());
75         assertEquals(40, status.getNewCursorEnd());
76         status.rotate();
77         assertEquals("abcd efghij", status.getRecapitalizedString());
78         status.rotate();
79         assertEquals("Abcd Efghij", status.getRecapitalizedString());
80         status.rotate();
81         assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
82 
83         status.start(29, 40, "ABCD EFGHIJ", Locale.ENGLISH, SPACE);
84         status.rotate();
85         assertEquals("abcd efghij", status.getRecapitalizedString());
86         assertEquals(29, status.getNewCursorStart());
87         assertEquals(40, status.getNewCursorEnd());
88         status.rotate();
89         assertEquals("Abcd Efghij", status.getRecapitalizedString());
90         status.rotate();
91         assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
92         status.rotate();
93         assertEquals("abcd efghij", status.getRecapitalizedString());
94 
95         status.start(29, 39, "AbCDefghij", Locale.ENGLISH, SPACE);
96         status.rotate();
97         assertEquals("abcdefghij", status.getRecapitalizedString());
98         assertEquals(29, status.getNewCursorStart());
99         assertEquals(39, status.getNewCursorEnd());
100         status.rotate();
101         assertEquals("Abcdefghij", status.getRecapitalizedString());
102         status.rotate();
103         assertEquals("ABCDEFGHIJ", status.getRecapitalizedString());
104         status.rotate();
105         assertEquals("AbCDefghij", status.getRecapitalizedString());
106         status.rotate();
107         assertEquals("abcdefghij", status.getRecapitalizedString());
108 
109         status.start(29, 40, "Abcd efghij", Locale.ENGLISH, SPACE);
110         status.rotate();
111         assertEquals("abcd efghij", status.getRecapitalizedString());
112         assertEquals(29, status.getNewCursorStart());
113         assertEquals(40, status.getNewCursorEnd());
114         status.rotate();
115         assertEquals("Abcd Efghij", status.getRecapitalizedString());
116         status.rotate();
117         assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
118         status.rotate();
119         assertEquals("Abcd efghij", status.getRecapitalizedString());
120         status.rotate();
121         assertEquals("abcd efghij", status.getRecapitalizedString());
122 
123         status.start(30, 34, "grüß", Locale.GERMAN, SPACE);
124         status.rotate();
125         assertEquals("Grüß", status.getRecapitalizedString());
126         assertEquals(30, status.getNewCursorStart());
127         assertEquals(34, status.getNewCursorEnd());
128         status.rotate();
129         assertEquals("GRÜSS", status.getRecapitalizedString());
130         assertEquals(30, status.getNewCursorStart());
131         assertEquals(35, status.getNewCursorEnd());
132         status.rotate();
133         assertEquals("grüß", status.getRecapitalizedString());
134         assertEquals(30, status.getNewCursorStart());
135         assertEquals(34, status.getNewCursorEnd());
136         status.rotate();
137         assertEquals("Grüß", status.getRecapitalizedString());
138         assertEquals(30, status.getNewCursorStart());
139         assertEquals(34, status.getNewCursorEnd());
140 
141         status.start(30, 33, "œuf", Locale.FRENCH, SPACE);
142         status.rotate();
143         assertEquals("Œuf", status.getRecapitalizedString());
144         assertEquals(30, status.getNewCursorStart());
145         assertEquals(33, status.getNewCursorEnd());
146         status.rotate();
147         assertEquals("ŒUF", status.getRecapitalizedString());
148         assertEquals(30, status.getNewCursorStart());
149         assertEquals(33, status.getNewCursorEnd());
150         status.rotate();
151         assertEquals("œuf", status.getRecapitalizedString());
152         assertEquals(30, status.getNewCursorStart());
153         assertEquals(33, status.getNewCursorEnd());
154         status.rotate();
155         assertEquals("Œuf", status.getRecapitalizedString());
156         assertEquals(30, status.getNewCursorStart());
157         assertEquals(33, status.getNewCursorEnd());
158 
159         status.start(30, 33, "œUf", Locale.FRENCH, SPACE);
160         status.rotate();
161         assertEquals("œuf", status.getRecapitalizedString());
162         assertEquals(30, status.getNewCursorStart());
163         assertEquals(33, status.getNewCursorEnd());
164         status.rotate();
165         assertEquals("Œuf", status.getRecapitalizedString());
166         assertEquals(30, status.getNewCursorStart());
167         assertEquals(33, status.getNewCursorEnd());
168         status.rotate();
169         assertEquals("ŒUF", status.getRecapitalizedString());
170         assertEquals(30, status.getNewCursorStart());
171         assertEquals(33, status.getNewCursorEnd());
172         status.rotate();
173         assertEquals("œUf", status.getRecapitalizedString());
174         assertEquals(30, status.getNewCursorStart());
175         assertEquals(33, status.getNewCursorEnd());
176         status.rotate();
177         assertEquals("œuf", status.getRecapitalizedString());
178         assertEquals(30, status.getNewCursorStart());
179         assertEquals(33, status.getNewCursorEnd());
180 
181         status.start(30, 35, "école", Locale.FRENCH, SPACE);
182         status.rotate();
183         assertEquals("École", status.getRecapitalizedString());
184         assertEquals(30, status.getNewCursorStart());
185         assertEquals(35, status.getNewCursorEnd());
186         status.rotate();
187         assertEquals("ÉCOLE", status.getRecapitalizedString());
188         assertEquals(30, status.getNewCursorStart());
189         assertEquals(35, status.getNewCursorEnd());
190         status.rotate();
191         assertEquals("école", status.getRecapitalizedString());
192         assertEquals(30, status.getNewCursorStart());
193         assertEquals(35, status.getNewCursorEnd());
194         status.rotate();
195         assertEquals("École", status.getRecapitalizedString());
196         assertEquals(30, status.getNewCursorStart());
197         assertEquals(35, status.getNewCursorEnd());
198     }
199 }
200