blob: 5757cf6be22a9f4643223168f0e749be5f549b1c [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/TreeDMV/Events/" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" testSWF="Tree_Basic.mxml">
<!-- this set of lines form a template that must be in each unit test -->
<mx:Script>
<![CDATA[
import mx.controls.Tree;
import data.TreeData;
import mx.events.TreeEvent;
import mx.events.ListEvent;
public static function init(o:DisplayObject):void
{
}
private function addXMLData():void
{
application.tree.dataProvider = application.treeXML;
application.tree.showRoot = false;
application.tree.labelField = '@label';
}
private function addXMLDataGlobal():void
{
application.tree.dataProvider = application.treeXML;
application.tree.showRoot = false;
application.tree.labelField = '@label';
}
public var treeDP:Object;
private function createNewObjectDP(): void
{
var newData:TreeData = new TreeData();
treeDP = newData.largeObj;
}
]]>
</mx:Script>
<mx:Metadata>
<![CDATA[
[Mixin]
]]>
</mx:Metadata>
<testCases>
<TestCase testID="change_onKeyBoard" description="Change event triggered when select item with keyboard" keywords="[events, change, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLData();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="tree" />
<DispatchKeyEvent keys="[DOWN]" />
<AssertEvent target="tree" eventName="change" eventClass="mx.events::ListEvent" />
<AssertEventPropertyValue propertyName="rowIndex" value="0" target="tree" />
</body>
</TestCase>
<TestCase testID="itemClick_onKeyBoard" description="itemClick event triggered when select item with keyboard" keywords="[events, change, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLData();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchMouseClickEvent target="tree" localX="228" localY="9" waitEvent="click" waitTarget="tree"/>
<AssertEvent target="tree" eventName="itemClick" eventClass="mx.events::ListEvent" />
<AssertEventPropertyValue propertyName="rowIndex" value="0" target="tree" />
</body>
</TestCase>
<TestCase testID="itemCloseKeyboard" description="itemOpen event triggered when node opened with keyboard" keywords="[events, itemOpen, keyboard, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLDataGlobal();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="tree" />
<DispatchKeyEvent keys="[DOWN, SPACE]" waitEvent="itemOpen" waitTarget="tree" />
<DispatchKeyEvent keys="[SPACE]"/>
<AssertEvent target="tree" eventName="itemClose" eventClass="mx.events::TreeEvent" />
<AssertEventPropertyValue propertyName="item" valueExpression="value=application.treeXML.node[0]" target="tree" />
</body>
</TestCase>
<!--<TestCase testID="itemCloseMouse" description="itemOpen event triggered when node disclosure is clicked" keywords="[events, itemClose, disclosureclick, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLDataGlobal();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<displatch mouse event on itemRenderer's disclosure>
<AssertEvent target="tree" eventName="itemClose" eventClass="mx.events::TreeEvent" />
<AssertEventPropertyValue propertyName="item" valueExpression="value=application.treeXML.node[0]" target="tree" />
</body>
</TestCase>-->
<TestCase testID="itemOpenKeyboard" description="itemOpen event triggered when node opened with keyboard" keywords="[events, itemOpen, keyboard, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLDataGlobal();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="tree" />
<DispatchKeyEvent keys="[DOWN, DOWN, SPACE]" />
<AssertEvent target="tree" eventName="itemOpen" eventClass="mx.events::TreeEvent" />
<AssertEventPropertyValue propertyName="item" valueExpression="value=application.treeXML.node[1]" target="tree" />
</body>
</TestCase>
<!--<TestCase testID="itemOpenMouse" description="itemOpen event triggered when node disclosure is clicked" keywords="[events, itemOpen, disclosureclick, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLDataGlobal();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<displatch mouse event on itemRenderer's disclosure>
<AssertEvent target="tree" eventName="itemOpen" eventClass="mx.events::TreeEvent" />
<AssertEventPropertyValue propertyName="item" valueExpression="value=application.treeXML.node[1]" target="tree" />
</body>
</TestCase>-->
<TestCase testID="itemOpeningKeyboard" description="itemOpening event triggered when node opened with keyboard" keywords="[events, itemOpening, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLDataGlobal();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="tree" />
<DispatchKeyEvent keys="[DOWN, DOWN, SPACE]" />
<AssertEvent target="tree" eventName="itemOpening" eventClass="mx.events::TreeEvent" />
<AssertEventPropertyValue propertyName="item" valueExpression="value=application.treeXML.node[1]" target="tree" />
</body>
</TestCase>
<!--<TestCase testID="itemOpeningMouse" description="itemOpening event triggered when node disclosure is clicked" keywords="[events, itemOpening, disclosureclick, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLDataGlobal();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<displatch mouse event on itemRenderer's disclosure>
<AssertEvent target="tree" eventName="itemOpening" eventClass="mx.events::TreeEvent" />
<AssertEventPropertyValue propertyName="item" valueExpression="value=application.treeXML.node[1]" target="tree" />
</body>
</TestCase>-->
<TestCase testID="Tree_events_scroll_buttons" description="Ensure that the scroll event triggers when you click on the track."
keywords="[events, scroll, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="createNewObjectDP()" />
<SetProperty propertyName="dataProvider" valueExpression="value=treeDP" target="tree" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchMouseClickEvent target="tree.getChildAt(3).getChildAt(3)" localX="8" localY="8" />
<AssertEvent target="tree" eventName="scroll" eventClass="mx.events::ScrollEvent" timeout="1000" />
<AssertPropertyValue target="tree" propertyName="verticalScrollPosition" value="1" />
</body>
</TestCase>
<TestCase testID="Tree_events_scroll_track" description="Ensure that the scroll event triggers when you click on the track."
keywords="[events, scroll, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="createNewObjectDP()" />
<SetProperty propertyName="dataProvider" valueExpression="value=treeDP" target="tree" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchMouseClickEvent target="tree.getChildAt(3)" localX="3" localY="110" waitEvent="scroll" waitTarget="tree" />
<AssertEvent target="tree" eventName="scroll" eventClass="mx.events::ScrollEvent" numExpectedEvents="2" />
</body>
</TestCase>
<TestCase testID="Tree_events_scroll_bug11120" description="Use case for bug SDK-11120."
keywords="[Bug, scroll, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="createNewObjectDP()" />
<SetProperty propertyName="dataProvider" valueExpression="value=treeDP" target="tree" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<SetProperty target="tree" propertyName="verticalScrollPosition" valueExpression="value=application.tree.maxVerticalScrollPosition" />
<WaitForEffectsToEnd />
<RunCode code="application.tree.expandItem(application.tree.dataProvider[10], true)" waitEvent="updateComplete" waitTarget="tree" />
<SetProperty target="tree" propertyName="verticalScrollPosition" value="0" />
<WaitForEffectsToEnd />
<SetProperty target="tree" propertyName="verticalScrollPosition" valueExpression="value=application.tree.maxVerticalScrollPosition" />
<WaitForEffectsToEnd />
<DispatchMouseClickEvent target="tree.mx_internal:rendererArray.3.0" localX="9" localY="9" waitEvent="updateComplete" waitTarget="tree" />
<CompareBitmap target="tree.mx_internal:rendererArray.6.0" url="../Events/baselines/tree_scroll_bug.png" timeout="2500" />
</body>
</TestCase>
<TestCase testID="Tree_events_horizontal_scroll_buttons" description="Ensure that the scroll event triggers when you click on the track."
keywords="[events,horizontal, scroll, Tree]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<SetProperty propertyName="horizontalScrollPolicy" value="on" target="tree" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchMouseClickEvent target="tree" localX="290" localY="150" waitEvent="click" waitTarget="tree" />
<DispatchMouseClickEvent target="tree.getChildAt(3).getChildAt(3)" localX="8" localY="8" waitEvent="click" waitTarget="tree.getChildAt(3).getChildAt(3)" />
<AssertEvent target="tree" eventName="scroll" eventClass="mx.events::ScrollEvent" />
<AssertPropertyValue target="tree" propertyName="horizontalScrollPosition" value="1" />
</body>
</TestCase>
<TestCase testID="change_onKeyBoardLeft" description="Change event triggered when select item with keyboard" keywords="[events, change, Tree, keys]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLData();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="tree" />
<DispatchKeyEvent keys="[DOWN]" waitEvent="change" waitTarget="tree" />
<DispatchKeyEvent keys="[LEFT]" />
<WaitForEffectsToEnd />
<AssertPropertyValue target="tree" propertyName="selectedIndex" value="0" />
</body>
</TestCase>
<TestCase testID="change_onKeyBoardDownLeft" description="Change event triggered when select item with keyboard" keywords="[events, change, Tree, keys]">
<setup>
<ResetComponent target="tree" className="comps.TreeDMV" />
<SetProperty target="tree" propertyName="width" value="300" waitEvent="updateComplete" waitTarget="tree" />
<RunCode code="addXMLData();" waitEvent="updateComplete" waitTarget="tree"/>
</setup>
<body>
<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="tree" />
<DispatchKeyEvent keys="[DOWN, DOWN]" waitEvent="change" waitTarget="tree" />
<DispatchKeyEvent keys="[LEFT]" />
<WaitForEffectsToEnd />
<AssertPropertyValue target="tree" propertyName="selectedIndex" value="1" />
</body>
</TestCase>
</testCases>
</UnitTester>