/* * 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.editors.layout.gre; import com.android.ide.common.api.IViewMetadata.FillPreference; import com.android.ide.eclipse.adt.internal.editors.layout.gre.ViewMetadataRepository.RenderMode; import java.util.Arrays; import junit.framework.TestCase; public class ViewMetadataRepositoryTest extends TestCase { public void testSingleton() throws Exception { assertSame(ViewMetadataRepository.get(), ViewMetadataRepository.get()); } public void testBasic() throws Exception { ViewMetadataRepository repository = ViewMetadataRepository.get(); assertEquals(FillPreference.WIDTH_IN_VERTICAL, repository.getFillPreference("android.widget.Spinner")); assertEquals(FillPreference.NONE, repository.getFillPreference("foo.bar")); } // Ensure that all basenames referenced in the metadata refer to other views in the file // (e.g. no typos) public void testRelatedTo() throws Exception { // Make sure unit tests are run with assertions on boolean assertionsEnabled = false; assert assertionsEnabled = true; // Intentional assignment assertTrue("This unit test must be run with assertions enabled (-ea)", assertionsEnabled); ViewMetadataRepository repository = ViewMetadataRepository.get(); for (String fqcn : repository.getAllFqcns()) { repository.getRelatedTo(fqcn); } } public void testSkip() throws Exception { ViewMetadataRepository repository = ViewMetadataRepository.get(); assertTrue(repository.getSkip("merge")); assertFalse(repository.getSkip("android.widget.Button")); } public void testRenderMode() throws Exception { ViewMetadataRepository repository = ViewMetadataRepository.get(); assertEquals(RenderMode.NORMAL, repository.getRenderMode("android.widget.Button")); assertEquals(RenderMode.SKIP, repository.getRenderMode("android.widget.LinearLayout")); assertEquals(RenderMode.ALONE, repository.getRenderMode("android.widget.TabHost")); } public void testGetTopAttributes() throws Exception { ViewMetadataRepository repository = ViewMetadataRepository.get(); assertEquals(Arrays.asList("id", "text", "style"), repository.getTopAttributes("android.widget.RadioButton")); assertEquals(Arrays.asList("id", "gravity", "paddingLeft", "paddingRight", "checkMark", "textAppearance"), repository.getTopAttributes("android.widget.CheckedTextView")); assertEquals(Arrays.asList("id"), repository.getTopAttributes("android.widget.NonExistent")); } }