| <?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/AdvancedDataGrid/Properties/" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" testSWF="Formatters_Main.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.AdvancedDataGrid; |
| import mx.controls.advancedDataGridClasses.*; |
| import mx.collections.*; |
| import mx.styles.StyleManager; |
| import mx.formatters.*; |
| import mx.managers.SystemManager; |
| |
| public function myStyleFunction1(data:Object,col:AdvancedDataGridColumn):Object { |
| return { color:0xFF0000}; |
| } |
| |
| |
| public function myStyleFunction2(data:Object,col:AdvancedDataGridColumn):Object { |
| var regExp:RegExp = new RegExp("321456789"); |
| var regExp2:RegExp = new RegExp("21344321") |
| if (regExp.test(data["col3"])) |
| return { color:0xFF0000}; |
| if (regExp2.test(data["col2"])) |
| return { color:0xFFCC99}; |
| return null; |
| } |
| public function myStyleFunction3(data:Object,col:AdvancedDataGridColumn):Object { |
| var regExp:RegExp = new RegExp("321456789"); |
| var regExp2:RegExp = new RegExp("21344321") |
| if (regExp.test(data["col3"])) |
| return {alpha:0.5, color:0xFFFF00}; |
| if (regExp2.test(data["col2"])) |
| return {alpha:0.2, color:0xBBEE99}; |
| |
| return null; |
| |
| } |
| public function applymystyle1():void { |
| |
| application.myCustomADG.mydatagrid.styleFunction = myStyleFunction1; |
| application.myCustomADG.mydata.refresh(); |
| |
| } |
| public function applymystyle2():void { |
| |
| application.myCustomADG.mydatagrid.styleFunction = myStyleFunction2; |
| application.myCustomADG.mydata.refresh(); |
| } |
| |
| public function applymystyle3():void { |
| |
| application.myCustomADG.mydatagrid.styleFunction = myStyleFunction3; |
| application.myCustomADG.mydata.refresh(); |
| |
| |
| } |
| |
| public function run():void |
| { |
| trace("formatter="+application.col1.formatter); |
| trace("MD= " + application.mydatagrid); |
| application.myCustomADG.mydatagrid.invalidateDisplayList(); |
| } |
| |
| |
| |
| //Function for currency formatter |
| |
| |
| public function setcurrencyformatter():void { |
| |
| var forms:CurrencyFormatter = new CurrencyFormatter(); |
| forms.currencySymbol = "$"; |
| application.myCustomADG.col1.formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| } |
| |
| //Function for col2 Number Formatter |
| |
| public function setnumberformatter():void { |
| |
| var forms:NumberFormatter = new NumberFormatter(); |
| forms.rounding = "up"; |
| forms.thousandsSeparatorTo = ","; |
| forms.useThousandsSeparator = true; |
| application.myCustomADG.col2.formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| } |
| |
| |
| public function setphoneformatter():void { |
| |
| var forms:PhoneFormatter = new PhoneFormatter(); |
| forms.areaCode=-1; |
| forms.areaCodeFormat="(###)"; |
| forms.formatString="####-####"; |
| application.myCustomADG.col2.formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| |
| } |
| |
| public function setdateformatter():void { |
| |
| var forms:DateFormatter = new DateFormatter(); |
| var today:Date = new Date(2000, 0, 1, 0, 0, 0, 0); |
| forms.formatString = "YYYY.MM.DD at HH:NN:SS "; |
| for (var i:int =0; i <5;i++) |
| { |
| application.myCustomADG.mydata.getItemAt(i)["col1"] = today; |
| } |
| application.myCustomADG.mydatagrid.dataProvider = application.myCustomADG.mydata; |
| application.myCustomADG.col1.formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| } |
| |
| public function setzipcodeformatter():void { |
| |
| var forms:ZipCodeFormatter = new ZipCodeFormatter(); |
| forms.formatString = "#####-####"; |
| application.myCustomADG.col3.formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| |
| } |
| |
| private function applytreeview():void |
| { |
| var fs2:Object = |
| |
| {fileName:"mxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmxmx", Summary:"true", children: [ |
| |
| {fileName: "utils", children: [ |
| |
| {fileName: "StringUtil.as", Summary:"true", size:"5563 bytes", lastModified:"October 6, 2006", type:"File", attributes:"Read Only"}, |
| |
| {fileName: "ArrayUtil.as", size:"2509 bytes", lastModified:"June 12, 2006", type:"File", attributes:"Read Only"}]}, |
| |
| {fileName:"accessibility", size:"1724 bytes", lastModified:"October 6, 2006", Summary:"false", children: [ |
| |
| {fileName:"DataGridAccImpl.as DataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.asDataGridAccImpl.as", size:"17045 bytes", lastModified:"November 2, 2006", type:"File", attributes:"Read Only"}, |
| |
| {fileName:"AccImpl.as", Summary:"true", size:"7263 bytes", lastModified:"June 1, 2006", type:"File", attributes:"Read Only"}]}, |
| |
| {fileName: "controls", children: [ |
| |
| {fileName: "DataGrid.as", size:"169825 bytes", lastModified:"December 6, 2006", type:"File", attributes:"Read Only"}, |
| |
| {fileName: "dataGridClasses", children: [ |
| |
| {fileName: "DataGridItemRenderer.as", size:"18587 bytes", lastModified:"November 20, 2006", type:"File", attributes:"Read Only"}, |
| |
| {fileName: "DataGridBase.as", size:"36419 bytes", lastModified:"December 6, 2006", type:"File", attributes:"Read Only"}]}]} |
| |
| |
| |
| ]}; |
| var hc:HierarchicalData = new HierarchicalData(fs2) |
| application.myCustomADG.mydatagrid.columns[0].dataField = "fileName" |
| application.myCustomADG.mydatagrid.columns[1].dataField = "size" |
| application.myCustomADG.mydatagrid.columns[2].dataField = "lastModified" |
| //Force dataField change |
| application.myCustomADG.mydatagrid.dataProvider.refresh(); |
| application.myCustomADG.mydatagrid.dataProvider= hc; |
| var forms:CurrencyFormatter = new CurrencyFormatter(); |
| forms.currencySymbol = "$"; |
| application.myCustomADG.mydatagrid.columns[1].formatter = forms; |
| application.myCustomADG.mydatagrid.columns[0].formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| application.myCustomADG.mydatagrid.expandAll(); |
| |
| } |
| |
| public function groupit():void { |
| var mygroup:GroupingCollection=new GroupingCollection; |
| //mygroup.groupLabelField = "Venom"; |
| mygroup.source = application.myCustomADG.mydata; |
| var group:Grouping = new Grouping(); |
| group.fields = [new GroupingField("col2"), new GroupingField("col3")]; |
| group.label = "Venom"; |
| mygroup.grouping = group; |
| mygroup.refresh(); |
| |
| application.myCustomADG.mydatagrid.dataProvider = mygroup; |
| application.myCustomADG.mydatagrid.validateNow(); |
| |
| var forms:CurrencyFormatter = new CurrencyFormatter(); |
| forms.currencySymbol = "$"; |
| application.myCustomADG.mydatagrid.columns[1].formatter = forms; |
| application.myCustomADG.mydatagrid.columns[0].formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| application.myCustomADG.mydatagrid.expandAll(); |
| |
| } |
| |
| public function setsimplecolumnspan():void { |
| var renders:AdvancedDataGridRendererProvider = new AdvancedDataGridRendererProvider(); |
| renders.column = application.myCustomADG.col1; |
| var renderarr:Array = new Array(); |
| renders.dataField = "col1"; |
| renders.columnSpan = 2; |
| renders.renderer = new ClassFactory(mx.controls.NumericStepper); |
| renderarr.push(renders); |
| application.myCustomADG.mydatagrid.rendererProviders = renderarr; |
| var forms:CurrencyFormatter = new CurrencyFormatter(); |
| forms.currencySymbol = "$"; |
| application.myCustomADG.mydatagrid.columns[2].formatter = forms; |
| application.myCustomADG.mydatagrid.columns[0].formatter = forms; |
| application.myCustomADG.mydata.refresh(); |
| application.myCustomADG.mydatagrid.expandAll(); |
| |
| } |
| |
| |
| ]]> |
| </mx:Script> |
| |
| <testCases> |
| <TestCase testID="use_style_function1" keywords="[Style function application]"> |
| <setup> |
| |
| <RunCode code="applymystyle1()" /> |
| |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/style1.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| <TestCase testID="use_style_function2" keywords="[Style function application2]"> |
| <setup> |
| |
| <RunCode code="applymystyle2()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/style2.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| <TestCase testID="use_style_function3" keywords="[Style function application3]" > |
| <setup> |
| |
| <RunCode code="applymystyle3()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/style3.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| |
| <TestCase testID="use_currency_formatter" keywords="[Currency formatter test]" > |
| <setup> |
| <ResetComponent waitTarget="myCustomADG" waitEvent="updateComplete" target="myCustomADG" className="CustomADG" /> |
| |
| <RunCode code="setcurrencyformatter()" /> |
| <Pause timeout="1000"/> |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/currency.png" timeout="5000" /> |
| </body> |
| </TestCase> |
| <TestCase testID="use_number_formatter" keywords="[Number formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="setnumberformatter()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/number.png" timeout="5000" /> |
| </body> |
| </TestCase> |
| <TestCase testID="use_phone_formatter" keywords="[Phone formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="setphoneformatter()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/phone.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| <TestCase testID="use_date_formatter" keywords="[Date formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="setdateformatter()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/date.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| <TestCase testID="use_zipcode_formatter" keywords="[ZipCode formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="setzipcodeformatter()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/zipcode.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| <!-- |
| <TestCase testID="use_tree_view" keywords="[Tree view with formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="applytreeview()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/treeview.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| |
| --> |
| <TestCase testID="use_grouped_view" keywords="[grouped view with formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="groupit()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/groupview.png" timeout="5000" numColorVariances="2" maxColorVariance="2"/> |
| </body> |
| |
| </TestCase> |
| |
| <TestCase testID="use_columnspan" keywords="[ColumnSpan with formatter test]" > |
| <setup> |
| <ResetComponent target="myCustomADG" className="CustomADG" waitEvent="updateComplete" waitTarget="myCustomADG"/> |
| <RunCode code="setsimplecolumnspan()" /> |
| <Pause timeout="1000"/> |
| |
| </setup> |
| <body> |
| <WaitForEffectsToEnd /> |
| <CompareBitmap target="myCustomADG.mydatagrid" url="../Properties/Baselines/columnspan.png" timeout="5000" /> |
| </body> |
| |
| </TestCase> |
| |
| </testCases> |
| </UnitTester> |