From 8d33f4a82194ec3c5e5a6c04257e4d4b79b1dc89 Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Mon, 28 Sep 2009 12:56:34 -0700 Subject: [PATCH] Fix ApiDemo Layout rendering test The issue came from a lack of device configuration and missing default versions of some resources. We know use an ADP1 configuration to choose the resources used by the rendering. Change-Id: I097b444e4fdc5572cfc53293a3215f1382f5d49c --- .../ApiDemosRenderingTest.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java b/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java index 14e008009..2b9aca378 100644 --- a/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java +++ b/tools/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/functests/layoutRendering/ApiDemosRenderingTest.java @@ -17,6 +17,23 @@ package com.android.ide.eclipse.tests.functests.layoutRendering; import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration; +import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenDimensionQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenRatioQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier; +import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier.KeyboardState; +import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier.NavigationMethod; +import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier.Density; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier.ScreenOrientation; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenRatioQualifier.ScreenRatio; +import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier.ScreenSize; +import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier.TextInputMethod; +import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier.TouchScreenType; import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources; import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager; import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData; @@ -205,6 +222,7 @@ public class ApiDemosRenderingTest extends FuncTestCase { null /*projectKey*/, 320, 480, + false, //renderFullSize 160, //density 160, //xdpi 160, // ydpi @@ -234,9 +252,26 @@ public class ApiDemosRenderingTest extends FuncTestCase { } } + /** + * Returns a config. This must be a valid config like a device would return. This is to + * prevent issues where some resources don't exist in all cases and not in the default + * (for instance only available in hdpi and mdpi but not in default). + * @return + */ private FolderConfiguration getConfiguration() { FolderConfiguration config = new FolderConfiguration(); + // this matches an ADP1. + config.addQualifier(new ScreenSizeQualifier(ScreenSize.NORMAL)); + config.addQualifier(new ScreenRatioQualifier(ScreenRatio.NOTLONG)); + config.addQualifier(new ScreenOrientationQualifier(ScreenOrientation.PORTRAIT)); + config.addQualifier(new PixelDensityQualifier(Density.MEDIUM)); + config.addQualifier(new TouchScreenQualifier(TouchScreenType.FINGER)); + config.addQualifier(new KeyboardStateQualifier(KeyboardState.HIDDEN)); + config.addQualifier(new TextInputMethodQualifier(TextInputMethod.QWERTY)); + config.addQualifier(new NavigationMethodQualifier(NavigationMethod.TRACKBALL)); + config.addQualifier(new ScreenDimensionQualifier(480, 320)); + return config; } }