diff options
author | Bob Badour <bbadour@google.com> | 2020-05-06 14:17:12 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-05-06 14:17:12 +0000 |
commit | fc7cda06f54946e3a03ea008c1ba086d90aeef84 (patch) | |
tree | fd845444b59dfc72656b7781596e0b1a0662c4c7 /eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtUtilsTest.java | |
parent | 1aa104fb55f1b87494e4e2bc38e23416f486adfd (diff) | |
parent | 512ba8f80c0a2422f9e58a1401cb142db190a56c (diff) | |
download | sdk-fc7cda06f54946e3a03ea008c1ba086d90aeef84.tar.gz |
Merge "Revert "Remove unused project.""
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtUtilsTest.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtUtilsTest.java | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtUtilsTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtUtilsTest.java new file mode 100644 index 000000000..c1e94ac69 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtUtilsTest.java @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php + * + * 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.ide.eclipse.adt; + +import junit.framework.TestCase; + +import java.util.Locale; + +@SuppressWarnings("javadoc") +public class AdtUtilsTest extends TestCase { + public void testExtractClassName() { + assertEquals("Foo", AdtUtils.extractClassName("foo")); + assertEquals("Foobar", AdtUtils.extractClassName("foo bar")); + assertEquals("JavasTypeSystem", AdtUtils.extractClassName("Java's Type System")); + assertEquals("Foo", AdtUtils.extractClassName("1foo ")); + } + + public void testStripAllExtensions() { + assertEquals("", AdtUtils.stripAllExtensions("")); + assertEquals("foobar", AdtUtils.stripAllExtensions("foobar")); + assertEquals("foobar", AdtUtils.stripAllExtensions("foobar.png")); + assertEquals("foobar", AdtUtils.stripAllExtensions("foobar.9.png")); + assertEquals(".profile", AdtUtils.stripAllExtensions(".profile")); + } + + public void testStripLastExtension() { + assertEquals("", AdtUtils.stripLastExtension("")); + assertEquals("foobar", AdtUtils.stripLastExtension("foobar")); + assertEquals("foobar", AdtUtils.stripLastExtension("foobar.png")); + assertEquals("foobar.9", AdtUtils.stripLastExtension("foobar.9.png")); + assertEquals(".profile", AdtUtils.stripLastExtension(".profile")); + } + + public void testCapitalize() { + assertEquals("UPPER", AdtUtils.capitalize("UPPER")); + assertEquals("Lower", AdtUtils.capitalize("lower")); + assertEquals("Capital", AdtUtils.capitalize("Capital")); + assertEquals("CamelCase", AdtUtils.capitalize("camelCase")); + assertEquals("", AdtUtils.capitalize("")); + assertSame("Foo", AdtUtils.capitalize("Foo")); + assertNull(null, AdtUtils.capitalize(null)); + } + + public void testCamelCaseToUnderlines() { + assertEquals("", AdtUtils.camelCaseToUnderlines("")); + assertEquals("foo", AdtUtils.camelCaseToUnderlines("foo")); + assertEquals("foo", AdtUtils.camelCaseToUnderlines("Foo")); + assertEquals("foo_bar", AdtUtils.camelCaseToUnderlines("FooBar")); + assertEquals("test_xml", AdtUtils.camelCaseToUnderlines("testXML")); + assertEquals("test_foo", AdtUtils.camelCaseToUnderlines("testFoo")); + } + + public void testUnderlinesToCamelCase() { + assertEquals("", AdtUtils.underlinesToCamelCase("")); + assertEquals("", AdtUtils.underlinesToCamelCase("_")); + assertEquals("Foo", AdtUtils.underlinesToCamelCase("foo")); + assertEquals("FooBar", AdtUtils.underlinesToCamelCase("foo_bar")); + assertEquals("FooBar", AdtUtils.underlinesToCamelCase("foo__bar")); + assertEquals("Foo", AdtUtils.underlinesToCamelCase("foo_")); + } + + public void testStripSuffix() { + assertEquals("Foo", AdtUtils.stripSuffix("Foo", "")); + assertEquals("Fo", AdtUtils.stripSuffix("Foo", "o")); + assertEquals("F", AdtUtils.stripSuffix("Fo", "o")); + assertEquals("", AdtUtils.stripSuffix("Foo", "Foo")); + assertEquals("LinearLayout_Layout", + AdtUtils.stripSuffix("LinearLayout_LayoutParams", "Params")); + assertEquals("Foo", AdtUtils.stripSuffix("Foo", "Bar")); + } + + public void testFormatFloatValue() throws Exception { + assertEquals("1", AdtUtils.formatFloatAttribute(1.0f)); + assertEquals("2", AdtUtils.formatFloatAttribute(2.0f)); + assertEquals("1.50", AdtUtils.formatFloatAttribute(1.5f)); + assertEquals("1.50", AdtUtils.formatFloatAttribute(1.50f)); + assertEquals("1.51", AdtUtils.formatFloatAttribute(1.51f)); + assertEquals("1.51", AdtUtils.formatFloatAttribute(1.514542f)); + assertEquals("1.52", AdtUtils.formatFloatAttribute(1.516542f)); + assertEquals("-1.51", AdtUtils.formatFloatAttribute(-1.51f)); + assertEquals("-1", AdtUtils.formatFloatAttribute(-1f)); + } + + public void testFormatFloatValueLocale() throws Exception { + // Ensure that the layout float values aren't affected by + // locale settings, like using commas instead of of periods + Locale originalDefaultLocale = Locale.getDefault(); + + try { + Locale.setDefault(Locale.FRENCH); + + // Ensure that this is a locale which uses a comma instead of a period: + assertEquals("5,24", String.format("%.2f", 5.236f)); + + // Ensure that the formatFloatAttribute is immune + assertEquals("1.50", AdtUtils.formatFloatAttribute(1.5f)); + } finally { + Locale.setDefault(originalDefaultLocale); + } + } + + public void testEscapeUnicodeChars() throws Exception { + assertEquals("", AdtUtils.replaceUnicodeEscapes("")); + assertEquals("foo bar", AdtUtils.replaceUnicodeEscapes("foo bar")); + assertEquals("\u25C0", AdtUtils.replaceUnicodeEscapes("\\u25C0")); + assertEquals("!\u25C0\u25C1!", AdtUtils.replaceUnicodeEscapes("!\\u25C0\\u25C1!")); + assertEquals("\u1234\\", AdtUtils.replaceUnicodeEscapes("\\u1234\\")); + + assertEquals("\\U25C0", AdtUtils.replaceUnicodeEscapes("\\U25C0")); // no unicode expand + assertEquals("\\u25C", AdtUtils.replaceUnicodeEscapes("\\u25C")); // no unicode expand + assertEquals("\\\\u25C0", AdtUtils.replaceUnicodeEscapes("\\\\u25C0")); // escaped + assertEquals("\\u123\\", AdtUtils.replaceUnicodeEscapes("\\u123\\")); // broken + } +} |