diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java | 297 |
1 files changed, 0 insertions, 297 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java deleted file mode 100644 index a6da135b6..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright (C) 2008 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.resources.manager; - -import com.android.SdkConstants; -import com.android.ide.common.resources.ResourceFile; -import com.android.ide.common.resources.ResourceFolder; -import com.android.ide.common.resources.ResourceItem; -import com.android.ide.common.resources.ResourceRepository; -import com.android.ide.common.resources.SingleResourceFile; -import com.android.ide.common.resources.configuration.FolderConfiguration; -import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources; -import com.android.ide.eclipse.adt.io.IFileWrapper; -import com.android.ide.eclipse.adt.io.IFolderWrapper; -import com.android.ide.eclipse.mock.Mocks; -import com.android.io.IAbstractFolder; -import com.android.io.IAbstractResource; -import com.android.resources.Keyboard; -import com.android.resources.KeyboardState; -import com.android.resources.Navigation; -import com.android.resources.NavigationState; -import com.android.resources.NightMode; -import com.android.resources.ResourceFolderType; -import com.android.resources.ScreenOrientation; -import com.android.resources.TouchScreen; -import com.android.resources.UiMode; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; - -import junit.framework.TestCase; - -public class ConfigMatchTest extends TestCase { - private static final String SEARCHED_FILENAME = "main.xml"; //$NON-NLS-1$ - private static final String MISC1_FILENAME = "foo.xml"; //$NON-NLS-1$ - private static final String MISC2_FILENAME = "bar.xml"; //$NON-NLS-1$ - - private FolderConfiguration mDefaultConfig; - private ResourceRepository mResources; - private FolderConfiguration config4; - private FolderConfiguration config3; - private FolderConfiguration config2; - private FolderConfiguration config1; - - @Override - protected void setUp() throws Exception { - super.setUp(); - - // create a default config with all qualifiers. - mDefaultConfig = new FolderConfiguration(); - mDefaultConfig.createDefault(); - - IAbstractFolder folder = Mocks.createAbstractFolder( - SdkConstants.FD_RESOURCES, new IAbstractResource[0]); - - // create the project resources. - mResources = new ResourceRepository(folder, false) { - @Override - protected ResourceItem createResourceItem(String name) { - return new ResourceItem(name); - } - }; - - // create 2 arrays of IResource. one with the filename being looked up, and one without. - // Since the required API uses IResource, we can use MockFolder for them. - IFile[] validMemberList = new IFile[] { - Mocks.createFile(MISC1_FILENAME), - Mocks.createFile(SEARCHED_FILENAME), - Mocks.createFile(MISC2_FILENAME), - }; - IFile[] invalidMemberList = new IFile[] { - Mocks.createFile(MISC1_FILENAME), - Mocks.createFile(MISC2_FILENAME), - }; - - // add multiple ResourceFolder to the project resource. - FolderConfiguration defaultConfig = getConfiguration( - null, // country code - null, // network code - null, // language - null, // region - null, // smallest width dp - null, // width dp - null, // height dp - null, // screen size - null, // screen ratio - null, // screen orientation - null, // dock mode - null, // night mode - null, // dpi - null, // touch mode - null, // keyboard state - null, // text input - null, // navigation state - null, // navigation method - null, // screen dimension - null);// version - - addFolder(mResources, defaultConfig, validMemberList); - - config1 = getConfiguration( - null, // country code - null, // network code - "en", // language - null, // region - null, // smallest width dp - null, // width dp - null, // height dp - null, // screen size - null, // screen ratio - null, // screen orientation - null, // dock mode - null, // night mode - null, // dpi - null, // touch mode - KeyboardState.EXPOSED.getResourceValue(), // keyboard state - null, // text input - null, // navigation state - null, // navigation method - null, // screen dimension - null);// version - - addFolder(mResources, config1, validMemberList); - - config2 = getConfiguration( - null, // country code - null, // network code - "en", // language - null, // region - null, // smallest width dp - null, // width dp - null, // height dp - null, // screen size - null, // screen ratio - null, // screen orientation - null, // dock mode - null, // night mode - null, // dpi - null, // touch mode - KeyboardState.HIDDEN.getResourceValue(), // keyboard state - null, // text input - null, // navigation state - null, // navigation method - null, // screen dimension - null);// version - - addFolder(mResources, config2, validMemberList); - - config3 = getConfiguration( - null, // country code - null, // network code - "en", // language - null, // region - null, // smallest width dp - null, // width dp - null, // height dp - null, // screen size - null, // screen ratio - ScreenOrientation.LANDSCAPE.getResourceValue(), // screen orientation - null, // dock mode - null, // night mode - null, // dpi - null, // touch mode - null, // keyboard state - null, // text input - null, // navigation state - null, // navigation method - null, // screen dimension - null);// version - - addFolder(mResources, config3, validMemberList); - - config4 = getConfiguration( - "mcc310", // country code - "mnc435", // network code - "en", // language - "rUS", // region - null, // smallest width dp - null, // width dp - null, // height dp - "normal", // screen size - "notlong", // screen ratio - ScreenOrientation.LANDSCAPE.getResourceValue(), // screen orientation - UiMode.DESK.getResourceValue(), // dock mode - NightMode.NIGHT.getResourceValue(), // night mode - "mdpi", // dpi - TouchScreen.FINGER.getResourceValue(), // touch mode - KeyboardState.EXPOSED.getResourceValue(), // keyboard state - Keyboard.QWERTY.getResourceValue(), // text input - NavigationState.EXPOSED.getResourceValue(), // navigation state - Navigation.DPAD.getResourceValue(), // navigation method - "480x320", // screen dimension - "v3"); // version - - addFolder(mResources, config4, invalidMemberList); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - mResources = null; - } - - public void test1() { - FolderConfiguration testConfig = getConfiguration( - "mcc310", // country code - "mnc435", // network code - "en", // language - "rUS", // region - null, // smallest width dp - null, // width dp - null, // height dp - "normal", // screen size - "notlong", // screen ratio - ScreenOrientation.LANDSCAPE.getResourceValue(), // screen orientation - UiMode.DESK.getResourceValue(), // dock mode - NightMode.NIGHT.getResourceValue(), // night mode - "mdpi", // dpi - TouchScreen.FINGER.getResourceValue(), // touch mode - KeyboardState.EXPOSED.getResourceValue(), // keyboard state - Keyboard.QWERTY.getResourceValue(), // text input - NavigationState.EXPOSED.getResourceValue(), // navigation state - Navigation.DPAD.getResourceValue(), // navigation method - "480x320", // screen dimension - "v3"); // version - - ResourceFile result = mResources.getMatchingFile(SEARCHED_FILENAME, - ResourceFolderType.LAYOUT, testConfig); - - boolean bresult = result.getFolder().getConfiguration().equals(config3); - assertEquals(bresult, true); - } - - /** - * Creates a {@link FolderConfiguration}. - * @param qualifierValues The list of qualifier values. The length must equals the total number - * of Qualifiers. <code>null</code> is permitted and will make the FolderConfiguration not use - * this particular qualifier. - */ - private FolderConfiguration getConfiguration(String... qualifierValues) { - // FolderConfiguration.getQualifierCount is always valid and up to date. - final int count = FolderConfiguration.getQualifierCount(); - - // Check we have the right number of qualifier. - assertEquals(qualifierValues.length, count); - - FolderConfiguration config = new FolderConfiguration(); - - for (int i = 0 ; i < count ; i++) { - String value = qualifierValues[i]; - if (value != null) { - assertTrue(mDefaultConfig.getQualifier(i).checkAndSet(value, config)); - } - } - - return config; - } - - /** - * Adds a folder to the given {@link ProjectResources} with the given - * {@link FolderConfiguration}. The folder is filled with files from the provided list. - * @param resources the {@link ResourceRepository} in which to add the folder. - * @param config the {@link FolderConfiguration} for the created folder. - * @param memberList the list of files for the folder. - */ - private void addFolder(ResourceRepository resources, FolderConfiguration config, - IFile[] memberList) throws Exception { - - // figure out the folder name based on the configuration - String folderName = config.getFolderName(ResourceFolderType.LAYOUT); - - // create the folder mock - IFolder folder = Mocks.createFolder(folderName, memberList); - - // add it to the resource, and get back a ResourceFolder object. - ResourceFolder resFolder = resources.processFolder(new IFolderWrapper(folder)); - - // and fill it with files from the list. - for (IFile file : memberList) { - resFolder.addFile(new SingleResourceFile(new IFileWrapper(file), resFolder)); - } - } -} |