19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
171a44d5dcabc18cd5ef111f732ccff91683a1a093Neal Nguyenpackage android.widget;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19e9c0d1495b1ac85048e19fd7cbf232a0cd10df12Fabrice Di Meglioimport android.test.AndroidTestCase;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.suitebuilder.annotation.SmallTest;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.text.GetChars;
22cb379120456d8065d742021fc5c66748fc8a11a8Doug Felt
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TextViewTest tests {@link TextView}.
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
26e9c0d1495b1ac85048e19fd7cbf232a0cd10df12Fabrice Di Megliopublic class TextViewTest extends AndroidTestCase {
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    @SmallTest
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public void testArray() throws Exception {
30e9c0d1495b1ac85048e19fd7cbf232a0cd10df12Fabrice Di Meglio        TextView tv = new TextView(mContext);
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        char[] c = new char[] { 'H', 'e', 'l', 'l', 'o', ' ',
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                'W', 'o', 'r', 'l', 'd', '!' };
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        tv.setText(c, 1, 4);
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        CharSequence oldText = tv.getText();
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        tv.setText(c, 4, 5);
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        CharSequence newText = tv.getText();
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertTrue(newText == oldText);
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals(5, newText.length());
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals('o', newText.charAt(0));
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals("o Wor", newText.toString());
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals(" Wo", newText.subSequence(1, 4));
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        char[] c2 = new char[7];
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        ((GetChars) newText).getChars(1, 4, c2, 2);
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals('\0', c2[1]);
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals(' ', c2[2]);
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals('W', c2[3]);
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals('o', c2[4]);
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        assertEquals('\0', c2[5]);
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
58