blob: cc5e40e461c705f671bb7f436417ad0d4cc9f205 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
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.
-->
<UnitTester testDir="components/DataGridColumn/Properties/" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" testSWF="DataGridColumnApp.mxml">
<!-- this set of lines form a template that must be in each unit test -->
<mx:Script>
<![CDATA[
public static function init(o:DisplayObject):void
{
}
]]>
</mx:Script>
<mx:Metadata>
<![CDATA[
[Mixin]
]]>
</mx:Metadata>
<!-- end of set of lines that must be in each unit test -->
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.*;
import mx.utils.ObjectUtil;
]]>
</mx:Script>
<testCases>
<!--
================================================================================
DataGridColumn: Visible
================================================================================
-->
<TestCase testID="datagridcolumn_visibleFalse" keywords="[DataGridColumn,properties,columns]">
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.setDataProvider(application.dg1, 1)" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="width" value="300" />
<SetProperty target="dg1" propertyName="height" value="200" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<AssertPropertyValue target="dg1.mx_internal:dataGridHeader.mx_internal:rendererArray.0" propertyName="text" value="family" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_visibleTrue" keywords="[DataGridColumn,properties,columns]">
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<RunCode code="application.setDataProvider(application.dg1, 1)" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1" propertyName="width" value="300" />
<SetProperty target="dg1" propertyName="height" value="200" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="true" waitTarget="dg1" waitEvent="updateComplete" />
<AssertPropertyValue target="dg1.mx_internal:dataGridHeader.mx_internal:rendererArray.0" propertyName="text" value="age" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_visibleToggled" keywords="[DataGridColumn,properties,columns]">
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.setDataProvider(application.dg1, 1)" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="width" value="300" />
<SetProperty target="dg1" propertyName="height" value="200" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty target="dg1.columns.0" propertyName="width" value="60" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="true" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="true" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="true" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="true" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.0" propertyName="visible" value="true" waitTarget="dg1" waitEvent="updateComplete" />
<AssertPropertyValue target="dg1.mx_internal:dataGridHeader.mx_internal:rendererArray.0" propertyName="text" value="age" />
<AssertPropertyValue target="dg1.columns.0" propertyName="width" value="60" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_visibleFalseWithBackgroundColors" keywords="[DataGridColumn,properties,columns]">
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.setDataProvider(application.dg1, 1)" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="width" value="300" />
<SetProperty target="dg1" propertyName="height" value="200" waitEvent="updateComplete" />
</setup>
<body>
<SetStyle target="dg1.columns.1" styleName="backgroundColor" value="0x0000ff" />
<SetStyle target="dg1.columns.2" styleName="backgroundColor" value="0x00ff00" />
<SetStyle target="dg1.columns.3" styleName="backgroundColor" value="0xff0000" />
<SetStyle target="dg1.columns.4" styleName="backgroundColor" value="0xff00ff" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.1" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.2" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.3" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<SetProperty target="dg1.columns.4" propertyName="visible" value="false" waitTarget="dg1" waitEvent="updateComplete" />
<CompareBitmap target="dg1" url="../Properties/baselines/datagridcolumn_visibleFalseWithBackgroundColors.png" />
</body>
</TestCase>
<!--
================================================================================
DataGridColumn: Width
- There are some baseline images to be sure that setting width sets it, and that
the retrieved width really is the width. Then, future test cases will rely
on getting the DataGridColumn's width property.
- There are test cases to be sure that the last column in the DataGrid is
sized and resized appropriately with horizontalScrollPolicy set to auto,
scrolling back and forth, and resizeing the column. The last column is a
special case for various reasons.
================================================================================
-->
<TestCase testID="datagridcolumn_widthBitmapCalibration1" keywords="[DataGridColumn,properties,columns]" description="Be sure that the widths given in script really appear that way." >
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="columns" valueExpression="value = application.columnSet2" />
<SetProperty target="dg1" propertyName="horizontalScrollPolicy" value="auto" />
<SetProperty target="dg1" propertyName="width" value="550" />
<SetProperty target="dgc2_1" propertyName="width" value="30" />
<SetProperty target="dgc2_1" propertyName="headerText" value="30" />
<SetProperty target="dgc2_2" propertyName="width" value="40" />
<SetProperty target="dgc2_2" propertyName="headerText" value="40" />
<SetProperty target="dgc2_3" propertyName="width" value="50" />
<SetProperty target="dgc2_3" propertyName="headerText" value="50" />
<SetProperty target="dgc2_4" propertyName="width" value="60" />
<SetProperty target="dgc2_4" propertyName="headerText" value="60" />
<SetProperty target="dgc2_5" propertyName="width" value="100" />
<SetProperty target="dgc2_5" propertyName="headerText" value="100" />
<SetProperty target="dgc2_6" propertyName="width" value="200" />
<SetProperty target="dgc2_6" propertyName="headerText" value="200" />
<SetProperty target="dgc2_7" propertyName="width" value="300" />
<SetProperty target="dgc2_7" propertyName="headerText" value="300" />
<SetProperty target="dgc2_8" propertyName="width" value="400" />
<SetProperty target="dgc2_8" propertyName="headerText" value="400" />
<SetProperty target="dgc2_9" propertyName="width" value="500" />
<SetProperty target="dgc2_9" propertyName="headerText" value="500" waitTarget="dg1" waitEvent="updateComplete" />
</setup>
<body>
<AssertPropertyValue target="dgc2_1" propertyName="width" value="30" />
<AssertPropertyValue target="dgc2_2" propertyName="width" value="40" />
<AssertPropertyValue target="dgc2_3" propertyName="width" value="50" />
<AssertPropertyValue target="dgc2_4" propertyName="width" value="60" />
<AssertPropertyValue target="dgc2_5" propertyName="width" value="100" />
<AssertPropertyValue target="dgc2_6" propertyName="width" value="200" />
<CompareBitmap target="dg1" url="../Properties/baselines/datagridcolumn_widthBitmapCalibration1.png" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_widthBitmapCalibration2" keywords="[DataGridColumn,properties,columns]" description="Be sure that the widths given in script really appear that way." >
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="columns" valueExpression="value = application.columnSet2" />
<SetProperty target="dg1" propertyName="horizontalScrollPolicy" value="auto" />
<SetProperty target="dg1" propertyName="width" value="550" />
<SetProperty target="dgc2_1" propertyName="width" value="30" />
<SetProperty target="dgc2_1" propertyName="headerText" value="30" />
<SetProperty target="dgc2_2" propertyName="width" value="40" />
<SetProperty target="dgc2_2" propertyName="headerText" value="40" />
<SetProperty target="dgc2_3" propertyName="width" value="50" />
<SetProperty target="dgc2_3" propertyName="headerText" value="50" />
<SetProperty target="dgc2_4" propertyName="width" value="60" />
<SetProperty target="dgc2_4" propertyName="headerText" value="60" />
<SetProperty target="dgc2_5" propertyName="width" value="100" />
<SetProperty target="dgc2_5" propertyName="headerText" value="100" />
<SetProperty target="dgc2_6" propertyName="width" value="200" />
<SetProperty target="dgc2_6" propertyName="headerText" value="200" />
<SetProperty target="dgc2_7" propertyName="width" value="300" />
<SetProperty target="dgc2_7" propertyName="headerText" value="300" />
<SetProperty target="dgc2_8" propertyName="width" value="400" />
<SetProperty target="dgc2_8" propertyName="headerText" value="400" />
<SetProperty target="dgc2_9" propertyName="width" value="500" />
<SetProperty target="dgc2_9" propertyName="headerText" value="500" waitTarget="dg1" waitEvent="updateComplete" />
</setup>
<body>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<AssertPropertyValue target="dgc2_7" propertyName="width" value="300" />
<CompareBitmap target="dg1" url="../Properties/baselines/datagridcolumn_widthBitmapCalibration2.png" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_widthBitmapCalibration3" keywords="[DataGridColumn,properties,columns]" description="Be sure that the widths given in script really appear that way." >
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="columns" valueExpression="value = application.columnSet2" />
<SetProperty target="dg1" propertyName="horizontalScrollPolicy" value="auto" />
<SetProperty target="dg1" propertyName="width" value="550" />
<SetProperty target="dgc2_1" propertyName="width" value="30" />
<SetProperty target="dgc2_1" propertyName="headerText" value="30" />
<SetProperty target="dgc2_2" propertyName="width" value="40" />
<SetProperty target="dgc2_2" propertyName="headerText" value="40" />
<SetProperty target="dgc2_3" propertyName="width" value="50" />
<SetProperty target="dgc2_3" propertyName="headerText" value="50" />
<SetProperty target="dgc2_4" propertyName="width" value="60" />
<SetProperty target="dgc2_4" propertyName="headerText" value="60" />
<SetProperty target="dgc2_5" propertyName="width" value="100" />
<SetProperty target="dgc2_5" propertyName="headerText" value="100" />
<SetProperty target="dgc2_6" propertyName="width" value="200" />
<SetProperty target="dgc2_6" propertyName="headerText" value="200" />
<SetProperty target="dgc2_7" propertyName="width" value="300" />
<SetProperty target="dgc2_7" propertyName="headerText" value="300" />
<SetProperty target="dgc2_8" propertyName="width" value="400" />
<SetProperty target="dgc2_8" propertyName="headerText" value="400" />
<SetProperty target="dgc2_9" propertyName="width" value="500" />
<SetProperty target="dgc2_9" propertyName="headerText" value="500" waitTarget="dg1" waitEvent="updateComplete" />
</setup>
<body>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<AssertPropertyValue target="dgc2_8" propertyName="width" value="400" />
<CompareBitmap target="dg1" url="../Properties/baselines/datagridcolumn_widthBitmapCalibration3.png" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_widthBitmapCalibration4" keywords="[DataGridColumn,properties,columns]" description="Be sure that the widths given in script really appear that way." >
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="columns" valueExpression="value = application.columnSet2" />
<SetProperty target="dg1" propertyName="horizontalScrollPolicy" value="auto" />
<SetProperty target="dg1" propertyName="width" value="550" />
<SetProperty target="dgc2_1" propertyName="width" value="30" />
<SetProperty target="dgc2_1" propertyName="headerText" value="30" />
<SetProperty target="dgc2_2" propertyName="width" value="40" />
<SetProperty target="dgc2_2" propertyName="headerText" value="40" />
<SetProperty target="dgc2_3" propertyName="width" value="50" />
<SetProperty target="dgc2_3" propertyName="headerText" value="50" />
<SetProperty target="dgc2_4" propertyName="width" value="60" />
<SetProperty target="dgc2_4" propertyName="headerText" value="60" />
<SetProperty target="dgc2_5" propertyName="width" value="100" />
<SetProperty target="dgc2_5" propertyName="headerText" value="100" />
<SetProperty target="dgc2_6" propertyName="width" value="200" />
<SetProperty target="dgc2_6" propertyName="headerText" value="200" />
<SetProperty target="dgc2_7" propertyName="width" value="300" />
<SetProperty target="dgc2_7" propertyName="headerText" value="300" />
<SetProperty target="dgc2_8" propertyName="width" value="400" />
<SetProperty target="dgc2_8" propertyName="headerText" value="400" />
<SetProperty target="dgc2_9" propertyName="width" value="500" />
<SetProperty target="dgc2_9" propertyName="headerText" value="500" waitTarget="dg1" waitEvent="updateComplete" />
</setup>
<body>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<AssertPropertyValue target="dgc2_9" propertyName="width" value="500" />
<CompareBitmap target="dg1" url="../Properties/baselines/datagridcolumn_widthBitmapCalibration4.png" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_lastColumnWidth1" keywords="[DataGridColumn,properties,columns]" description="The DataGrid's width is the same as the width of the first 4 columns + the border. The 5th column is the same width as the first one. After scrolling to the right, be sure the 5th one is the right width." >
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="columns" valueExpression="value = application.columnSet1" />
<SetProperty target="dg1" propertyName="horizontalScrollPolicy" value="auto" />
<SetProperty target="dg1" propertyName="width" value="182" />
<SetProperty target="dgc1_1" propertyName="width" value="30" />
<SetProperty target="dgc1_2" propertyName="width" value="40" />
<SetProperty target="dgc1_3" propertyName="width" value="50" />
<SetProperty target="dgc1_4" propertyName="width" value="60" />
<SetProperty target="dgc1_5" propertyName="width" value="30" waitTarget="dg1" waitEvent="updateComplete" />
</setup>
<body>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<AssertPropertyValue target="dgc1_5" propertyName="width" value="30" />
</body>
</TestCase>
<TestCase testID="datagridcolumn_lastColumnWidth2" keywords="[DataGridColumn,properties,columns]" description="The DataGrid's width is the same as the width of the first 4 columns + the border. The 5th column is one more than the first one. After scrolling to the right, be sure the 5th one is 30 + 40, since we can't leave a partial column on the left side. (This is confusing, so run the code in SDK-13742 to see what's going on.)" >
<setup>
<ResetComponent target="dg1" className="mx.controls.DataGrid" waitEvent="updateComplete" />
<RunCode code="application.showOnlyTheseDataGrids([application.dg1])" />
<SetProperty target="dg1" propertyName="columns" valueExpression="value = application.columnSet1" />
<SetProperty target="dg1" propertyName="horizontalScrollPolicy" value="auto" />
<SetProperty target="dg1" propertyName="width" value="182" />
<SetProperty target="dgc1_1" propertyName="width" value="30" />
<SetProperty target="dgc1_2" propertyName="width" value="40" />
<SetProperty target="dgc1_3" propertyName="width" value="50" />
<SetProperty target="dgc1_4" propertyName="width" value="60" />
<SetProperty target="dgc1_5" propertyName="width" value="31" waitTarget="dg1" waitEvent="updateComplete" />
</setup>
<body>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<DispatchMouseClickEvent target="dg1.mx_internal:scroll_horizontalScrollBar.mx_internal:downArrow" localX="2" localY="2" waitTarget="dg1" waitEvent="scroll"/>
<AssertPropertyValue target="dgc1_5" propertyName="width" value="70" />
</body>
</TestCase>
</testCases>
</UnitTester>