diff options
author | Bob Badour <bbadour@google.com> | 2020-05-06 15:09:12 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-05-06 15:09:12 +0000 |
commit | f1a59c98333d28b04b74772f204bcc1df6e83634 (patch) | |
tree | fd845444b59dfc72656b7781596e0b1a0662c4c7 /eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources | |
parent | 14a008655dafe4ca1fc7d014a16a1c401761675c (diff) | |
parent | d58f8ba3b1869530926bd5f167103dfa161787a1 (diff) | |
download | sdk-f1a59c98333d28b04b74772f204bcc1df6e83634.tar.gz |
Merge "Revert "Remove unused project."" am: fc7cda06f5 am: d3c69fa48e am: d58f8ba3b1
Change-Id: I297730ce4f9da2bf30dde696439ab825cd642b00
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources')
3 files changed, 306 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java new file mode 100644 index 000000000..de4e59101 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java @@ -0,0 +1,183 @@ +/* + * 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.internal.resources; + +import com.android.ide.common.resources.ResourceDeltaKind; +import com.android.ide.common.resources.configuration.FolderConfiguration; +import com.android.ide.common.resources.configuration.ResourceQualifier; +import com.android.resources.ResourceType; + +import org.eclipse.core.resources.IResourceDelta; + +import junit.framework.TestCase; + + +/** + * Test ResourceHelper + */ +@SuppressWarnings("javadoc") +public class ResourceHelperTest extends TestCase { + + /** + * temp fake qualifier class. + */ + private static class FakeQualifierClass extends ResourceQualifier { + + @Override + public boolean checkAndSet(String value, FolderConfiguration config) { + return false; + } + + @Override + public boolean equals(Object object) { + return false; + } + + @Override + public String getFolderSegment() { + return null; + } + + @Override + public String getLongDisplayValue() { + return null; + } + + @Override + public String getName() { + return null; + } + + @Override + public String getShortDisplayValue() { + return null; + } + + @Override + public String getShortName() { + return null; + } + + @Override + public boolean hasFakeValue() { + return false; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public boolean isValid() { + return false; + } + + @Override + public int since() { + return 0; + } + } + + public void testGetIcon() throws Exception { + // check that the method returns null for an unknown qualifier class + assertNull(ResourceHelper.getIcon(FakeQualifierClass.class)); + + // find all the qualifiers through FolderConfiguration.createdefault() + FolderConfiguration config = new FolderConfiguration(); + config.createDefault(); + final int count = FolderConfiguration.getQualifierCount(); + for (int i = 0 ; i < count ; i++) { + ResourceQualifier qual = config.getQualifier(i); + assertNotNull(qual); + assertNotNull(qual.getClass().getCanonicalName(), + ResourceHelper.getIcon(qual.getClass())); + } + } + + public void testGetResourceDeltaKind() { + assertEquals(ResourceDeltaKind.ADDED, + ResourceHelper.getResourceDeltaKind(IResourceDelta.ADDED)); + assertEquals(ResourceDeltaKind.REMOVED, + ResourceHelper.getResourceDeltaKind(IResourceDelta.REMOVED)); + assertEquals(ResourceDeltaKind.CHANGED, + ResourceHelper.getResourceDeltaKind(IResourceDelta.CHANGED)); + + assertNull(ResourceHelper.getResourceDeltaKind(IResourceDelta.ADDED_PHANTOM)); + } + + public void testIsFileBasedResourceType() throws Exception { + assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.ANIMATOR)); + assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.LAYOUT)); + + assertFalse(ResourceHelper.isFileBasedResourceType(ResourceType.STRING)); + assertFalse(ResourceHelper.isFileBasedResourceType(ResourceType.DIMEN)); + assertFalse(ResourceHelper.isFileBasedResourceType(ResourceType.ID)); + + // Both: + assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.DRAWABLE)); + assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.COLOR)); + } + + public void testIsValueBasedResourceType() throws Exception { + assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.STRING)); + assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.DIMEN)); + assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.ID)); + + assertFalse(ResourceHelper.isValueBasedResourceType(ResourceType.LAYOUT)); + + // These can be both: + assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.DRAWABLE)); + assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.COLOR)); + } + + public void testCanCreateResource() throws Exception { + assertTrue(ResourceHelper.canCreateResource("@layout/foo")); + assertTrue(ResourceHelper.canCreateResource("@string/foo")); + assertTrue(ResourceHelper.canCreateResource("@dimen/foo")); + assertTrue(ResourceHelper.canCreateResource("@color/foo")); + + assertFalse(ResourceHelper.canCreateResource("@typo/foo")); // nonexistent type + assertFalse(ResourceHelper.canCreateResource("@layout/foo bar")); // space + assertFalse(ResourceHelper.canCreateResource("@layout/new")); // keyword + assertFalse(ResourceHelper.canCreateResource("@android:string/foo")); // framework + assertFalse(ResourceHelper.canCreateResource("@android:dimen/foo")); + assertFalse(ResourceHelper.canCreateResource("@android:color/foo")); + } + + public void testCanCreateResourceType() throws Exception { + assertTrue(ResourceHelper.canCreateResourceType(ResourceType.LAYOUT)); + assertTrue(ResourceHelper.canCreateResourceType(ResourceType.STRING)); + assertTrue(ResourceHelper.canCreateResourceType(ResourceType.DIMEN)); + assertTrue(ResourceHelper.canCreateResourceType(ResourceType.COLOR)); + + assertFalse(ResourceHelper.canCreateResourceType(ResourceType.RAW)); + assertFalse(ResourceHelper.canCreateResourceType(ResourceType.XML)); + } + + public void testStyleToTheme() throws Exception { + assertEquals("Foo", ResourceHelper.styleToTheme("Foo")); + assertEquals("Theme", ResourceHelper.styleToTheme("@android:style/Theme")); + assertEquals("LocalTheme", ResourceHelper.styleToTheme("@style/LocalTheme")); + //assertEquals("LocalTheme", ResourceHelper.styleToTheme("@foo.bar:style/LocalTheme")); + } + + public void testIsProjectStyle() throws Exception { + assertFalse(ResourceHelper.isProjectStyle("@android:style/Theme")); + assertTrue(ResourceHelper.isProjectStyle("@style/LocalTheme")); + } +} diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java new file mode 100644 index 000000000..2cc2c932c --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2010 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.internal.resources; + +import com.android.resources.ResourceFolderType; +import com.android.resources.ResourceType; + +import org.eclipse.core.resources.IProject; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import junit.framework.TestCase; + +@SuppressWarnings("javadoc") +public class ResourceNameValidatorTest extends TestCase { + public void testValidator() throws Exception { + // Valid + ResourceNameValidator validator = ResourceNameValidator.create(true, + ResourceFolderType.VALUES); + assertTrue(validator.isValid("foo") == null); + assertTrue(validator.isValid("foo.xml") == null); + assertTrue(validator.isValid("Foo123_$") == null); + assertTrue(validator.isValid("foo.xm") == null); // For non-file types, . => _ + + // Invalid + assertTrue(validator.isValid("") != null); + assertTrue(validator.isValid(" ") != null); + assertTrue(validator.isValid("foo bar") != null); + assertTrue(validator.isValid("1foo") != null); + assertTrue(validator.isValid("foo%bar") != null); + assertTrue(ResourceNameValidator.create(true, Collections.singleton("foo"), + ResourceType.STRING).isValid("foo") != null); + assertTrue(ResourceNameValidator.create(true, + ResourceFolderType.DRAWABLE).isValid("foo.xm") != null); + assertTrue(ResourceNameValidator.create(false, + ResourceFolderType.DRAWABLE).isValid("foo.xm") != null); + + // Only lowercase chars allowed in file-based resource names + assertTrue(ResourceNameValidator.create(true, ResourceFolderType.LAYOUT) + .isValid("Foo123_$") != null); + assertTrue(ResourceNameValidator.create(true, ResourceFolderType.LAYOUT) + .isValid("foo123_") == null); + + // Can't start with _ in file-based resource names, is okay for value based resources + assertTrue(ResourceNameValidator.create(true, ResourceFolderType.VALUES) + .isValid("_foo") == null); + assertTrue(ResourceNameValidator.create(true, ResourceFolderType.LAYOUT) + .isValid("_foo") != null); + assertTrue(ResourceNameValidator.create(true, ResourceFolderType.DRAWABLE) + .isValid("_foo") != null); + } + + public void testIds() throws Exception { + ResourceNameValidator validator = ResourceNameValidator.create(false, (IProject) null, + ResourceType.ID); + assertTrue(validator.isValid("foo") == null); + assertTrue(validator.isValid(" foo") != null); + assertTrue(validator.isValid("foo ") != null); + assertTrue(validator.isValid("foo@") != null); + } + + public void testUniqueOrExists() throws Exception { + Set<String> existing = new HashSet<String>(); + existing.add("foo1"); + existing.add("foo2"); + existing.add("foo3"); + + ResourceNameValidator validator = ResourceNameValidator.create(true, existing, + ResourceType.ID); + validator.unique(); + + assertNull(validator.isValid("foo")); // null: ok (no error message) + assertNull(validator.isValid("foo4")); + assertNotNull(validator.isValid("foo1")); + assertNotNull(validator.isValid("foo2")); + assertNotNull(validator.isValid("foo3")); + + validator.exist(); + assertNotNull(validator.isValid("foo")); + assertNotNull(validator.isValid("foo4")); + assertNull(validator.isValid("foo1")); + assertNull(validator.isValid("foo2")); + assertNull(validator.isValid("foo3")); + } +} diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/IdeScanningContextTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/IdeScanningContextTest.java new file mode 100644 index 000000000..3104c8593 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/IdeScanningContextTest.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2012 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.internal.resources.manager; + +import junit.framework.TestCase; + +@SuppressWarnings("javadoc") +public class IdeScanningContextTest extends TestCase { +} |