1f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project/* 2f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * 4f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * you may not use this file except in compliance with the License. 6f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * You may obtain a copy of the License at 7f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * 8f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * 10f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * See the License for the specific language governing permissions and 14f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * limitations under the License. 15f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project */ 16f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project 17f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectpackage android.text.method.cts; 18f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project 193487313ff582d8a7ae2bf58e7379c4577522dd61Scott Suimport android.view.KeyEvent; 20f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project 21f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectimport junit.framework.Assert; 22f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project 23f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Projectpublic class TextMethodUtils { 24f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project /** 25f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * Assert that two char arrays are equal. 26f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * 273487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su * @param expected the expected char array. 283487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su * @param actual the actual char array. 29f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project */ 303487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su public static void assertEquals(char[] expected, char[] actual) { 313487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su if (expected != actual) { 323487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su if (expected == null || actual == null) { 33f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project Assert.fail("the char arrays are not equal"); 34f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project } 35f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project 363487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su Assert.assertEquals(String.valueOf(expected), String.valueOf(actual)); 37f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project } 38f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project } 39f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project 40f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project /** 413487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su * Get an unaccepted key code. 42f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project * 433487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su * @param acceptedChars accepted chars array. 443487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su * @return return key code if we find unaccepted one, or return -1. 45f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project */ 463487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su public static int getUnacceptedKeyCode(char[] acceptedChars) { 473487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su for (int keyCode = KeyEvent.KEYCODE_A; keyCode <= KeyEvent.KEYCODE_Z; keyCode++) { 483487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode); 493487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su if ('\0' == event.getMatch(acceptedChars)) { 503487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su return keyCode; 513487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su } 52f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project } 533487313ff582d8a7ae2bf58e7379c4577522dd61Scott Su return -1; 54f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project } 55f8057104af9cae031b544e971a52adafa7c0d9eThe Android Open Source Project} 56