diff options
author | Jake Hamby <jhamby@google.com> | 2010-09-22 16:26:02 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-22 16:26:02 -0700 |
commit | 5496db047df21a44280c56984dbc296e2a1d7968 (patch) | |
tree | 2074b26ff4112828316edb16c94bf6bf2fa9b6dd /tests | |
parent | e2b102de6723b06d26dd5df986884881f72335ea (diff) | |
parent | 59091c08f4d0ad8f42013f58ce9bd23ac3306336 (diff) | |
download | packages_apps_settings-5496db047df21a44280c56984dbc296e2a1d7968.zip packages_apps_settings-5496db047df21a44280c56984dbc296e2a1d7968.tar.gz packages_apps_settings-5496db047df21a44280c56984dbc296e2a1d7968.tar.bz2 |
am 59091c08: Fix Bluetooth device name max length checking.
Merge commit '59091c08f4d0ad8f42013f58ce9bd23ac3306336' into gingerbread-plus-aosp
* commit '59091c08f4d0ad8f42013f58ce9bd23ac3306336':
Fix Bluetooth device name max length checking.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/AndroidManifest.xml | 5 | ||||
-rw-r--r-- | tests/src/com/android/settings/tests/SettingsLaunchPerformance.java (renamed from tests/src/com/android/settings/SettingsLaunchPerformance.java) | 2 | ||||
-rw-r--r-- | tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java | 113 |
3 files changed, 119 insertions, 1 deletions
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml index e125128..53bf40f 100644 --- a/tests/AndroidManifest.xml +++ b/tests/AndroidManifest.xml @@ -58,4 +58,9 @@ android:label="Settings Launch Performance"> </instrumentation> + <instrumentation android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.settings" + android:label="Settings Test Cases"> + </instrumentation> + </manifest> diff --git a/tests/src/com/android/settings/SettingsLaunchPerformance.java b/tests/src/com/android/settings/tests/SettingsLaunchPerformance.java index 05154e2..225a60b 100644 --- a/tests/src/com/android/settings/SettingsLaunchPerformance.java +++ b/tests/src/com/android/settings/tests/SettingsLaunchPerformance.java @@ -26,7 +26,7 @@ import java.util.Map; * Instrumentation class for Settings launch performance testing. */ public class SettingsLaunchPerformance extends LaunchPerformanceBase { - + public static final String LOG_TAG = "SettingsLaunchPerformance"; public SettingsLaunchPerformance() { diff --git a/tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java b/tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java new file mode 100644 index 0000000..c03f9c0 --- /dev/null +++ b/tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2010 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. + */ + +package com.android.settings.tests; + +import android.test.AndroidTestCase; +import android.text.InputFilter; +import android.text.SpannableStringBuilder; + +import com.android.settings.bluetooth.BluetoothNamePreference; + +import dalvik.annotation.TestLevel; +import dalvik.annotation.TestTargetClass; +import dalvik.annotation.TestTargetNew; +import dalvik.annotation.TestTargets; + +@TestTargetClass(BluetoothNamePreference.Utf8ByteLengthFilter.class) +public class Utf8ByteLengthFilterTest extends AndroidTestCase { + + @TestTargets({ + @TestTargetNew( + level = TestLevel.COMPLETE, + method = "filter", + args = {java.lang.CharSequence.class, int.class, int.class, android.text.Spanned.class, + int.class, int.class} + ), + @TestTargetNew( + level = TestLevel.COMPLETE, + method = "BluetoothNamePreference.Utf8ByteLengthFilter", + args = {int.class} + ) + }) + public void testFilter() { + // Define the variables + CharSequence source; + SpannableStringBuilder dest; + // Constructor to create a LengthFilter + BluetoothNamePreference.Utf8ByteLengthFilter lengthFilter = new BluetoothNamePreference.Utf8ByteLengthFilter(10); + InputFilter[] filters = {lengthFilter}; + + // filter() implicitly invoked. If the total length > filter length, the filter will + // cut off the source CharSequence from beginning to fit the filter length. + source = "abc"; + dest = new SpannableStringBuilder("abcdefgh"); + dest.setFilters(filters); + + dest.insert(1, source); + String expectedString1 = "aabbcdefgh"; + assertEquals(expectedString1, dest.toString()); + + dest.replace(5, 8, source); + String expectedString2 = "aabbcabcgh"; + assertEquals(expectedString2, dest.toString()); + + dest.insert(2, source); + assertEquals(expectedString2, dest.toString()); + + dest.delete(1, 3); + String expectedString3 = "abcabcgh"; + assertEquals(expectedString3, dest.toString()); + + dest.append("12345"); + String expectedString4 = "abcabcgh12"; + assertEquals(expectedString4, dest.toString()); + + source = "\u60a8\u597d"; // 2 Chinese chars == 6 bytes in UTF-8 + dest.replace(8, 10, source); + assertEquals(expectedString3, dest.toString()); + + dest.replace(0, 1, source); + String expectedString5 = "\u60a8bcabcgh"; + assertEquals(expectedString5, dest.toString()); + + dest.replace(0, 4, source); + String expectedString6 = "\u60a8\u597dbcgh"; + assertEquals(expectedString6, dest.toString()); + + source = "\u00a3\u00a5"; // 2 Latin-1 chars == 4 bytes in UTF-8 + dest.delete(2, 6); + dest.insert(0, source); + String expectedString7 = "\u00a3\u00a5\u60a8\u597d"; + assertEquals(expectedString7, dest.toString()); + + dest.replace(2, 3, source); + String expectedString8 = "\u00a3\u00a5\u00a3\u597d"; + assertEquals(expectedString8, dest.toString()); + + dest.replace(3, 4, source); + String expectedString9 = "\u00a3\u00a5\u00a3\u00a3\u00a5"; + assertEquals(expectedString9, dest.toString()); + + // filter() explicitly invoked + dest = new SpannableStringBuilder("abcdefgh"); + CharSequence beforeFilterSource = "TestLengthFilter"; + String expectedAfterFilter = "TestLength"; + CharSequence actualAfterFilter = lengthFilter.filter(beforeFilterSource, 0, + beforeFilterSource.length(), dest, 0, dest.length()); + assertEquals(expectedAfterFilter, actualAfterFilter); + } +} |