//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 // // 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 { /** * Configurations of environments where tests are run * are mapped to IDs. * * This can't be database stuff because we don't know * some of this info. until we are actually running. * * Most tests will only differ with deviceDensity and OS, with a few differing by screenDPI. * We aren't embedding in this release, so the same deviceDensity basesline will differ across * OSs. But that will probably change in Ultra, which is why the DPI is used in the config ID. * * The color depth is just theoretical, and the osVersion has not been needed. * * DEVICES: * * Device deviceDensity os screenDPI widthxheight color osVersion * win 160 win 160 320x455 - - * Playbook 160 qnx 170 1024x600 - - * win 240 win 240 480x762 - - * Droid 2: 240 android 240 480x854 - - * Droid X: 240 android 240 480x816 - - * Nexus One: 240 android 240 480x762 - - * Desire: 240 android 240 480x762 - - * Nexus S: 240 android 240 480x762 - - * win 320 win 320 640x960 - - * iPodTouch4G: 320 ios 326 640x960 - - * */ import mx.core.FlexGlobals; public class TargetConfigurations { public static var configs:Array = [ { configID: "160_01", deviceDensity: 160, os: DeviceNames.WIN, screenDPI: 160, deviceWidth: 320, deviceHeight: 455, color: null, osVersion: null}, { configID: "160_02", deviceDensity: 160, os: DeviceNames.MAC, screenDPI: 160, deviceWidth: 320, deviceHeight: 455, color: null, osVersion: null}, { configID: "160_03", deviceDensity: 160, os: DeviceNames.QNX, screenDPI: 170, deviceWidth: 1024, deviceHeight: 600, color: null, osVersion: null}, { configID: "240_01", deviceDensity: 240, os: DeviceNames.WIN, screenDPI: 240, deviceWidth: 480, deviceHeight: 762, color: null, osVersion: null}, { configID: "240_02", deviceDensity: 240, os: DeviceNames.MAC, screenDPI: 240, deviceWidth: 480, deviceHeight: 762, color: null, osVersion: null}, { configID: "240_03", deviceDensity: 240, os: DeviceNames.ANDROID, screenDPI: 240, deviceWidth: 480, deviceHeight: 816, color: null, osVersion: null}, { configID: "240_04", deviceDensity: 240, os: DeviceNames.ANDROID, screenDPI: 240, deviceWidth: 480, deviceHeight: 854, color: null, osVersion: null}, { configID: "240_05", deviceDensity: 240, os: DeviceNames.ANDROID, screenDPI: 240, deviceWidth: 480, deviceHeight: 762, color: null, osVersion: null}, { configID: "320_01", deviceDensity: 320, os: DeviceNames.WIN, screenDPI: 320, deviceWidth: 640, deviceHeight: 960, color: null, osVersion: null}, { configID: "320_02", deviceDensity: 320, os: DeviceNames.MAC, screenDPI: 320, deviceWidth: 640, deviceHeight: 960, color: null, osVersion: null}, { configID: "320_03", deviceDensity: 320, os: DeviceNames.IOS, screenDPI: 326, deviceWidth: 640, deviceHeight: 960, color: null, osVersion: null} ]; /** * Returns the config ID which best matches the given ConditionalValue. * This config ID will get added to baselines. e.g. MyGroovyTest@160_01.png **/ public static function getTargetConfigID( cv:ConditionalValue ):String{ var i:int = 0; if( cv == null ){ return null; } // Get these when a test is actually running. if( cv.deviceWidth == -1 ){ cv.deviceWidth = FlexGlobals.topLevelApplication.width; } if( cv.deviceHeight == -1 ){ cv.deviceHeight = FlexGlobals.topLevelApplication.height; } for( i = 0; i < configs.length; ++i ){ if( cv.deviceDensity == configs[ i ].deviceDensity && cv.os == configs[ i ].os && cv.screenDPI == configs[ i ].screenDPI && cv.deviceWidth == configs[ i ].deviceWidth && cv.deviceHeight == configs[ i ].deviceHeight ){ return configs[ i ].configID; }else{ //trace( "*********This did not match:**********" ); //trace( "deviceDensity: " + configs[ i ].deviceDensity + "!=" + cv.deviceDensity ); //trace( "os: " + configs[ i ].os + "!=" + cv.os ); //trace( "screenDPI: " + configs[ i ].screenDPI + "!=" + cv.screenDPI ); //trace( "deviceWidth: " + configs[ i ].deviceWidth + "!=" + cv.deviceWidth ); //trace( "deviceHeight: " + configs[ i ].deviceHeight + "!=" + cv.deviceHeight ); } } // No matches. return null; } } // end TargetConfigurations class } // end package