blob: 5ef29e7c389364d09842c2b367c72525600cf83a [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="containers/TitleWindow/Events/" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" testSWF="TitleWindow_Basic.mxml">
<!-- this set of lines form a template that must be in each unit test -->
<mx:Script>
<![CDATA[
import mx.managers.SystemManager;
import mx.events.CloseEvent;
import mx.controls.Button;
public static function init(o:DisplayObject):void
{
}
public function addAButton(i:int, tileName:int):void
{
var newButton:Button = new Button();
newButton.label = "new button";
if(tileName==1)
{
application.myTW.addChildAt(newButton, i);
}
else
{
application.tw.addChild(newButton);
}
}
]]>
</mx:Script>
<mx:Metadata>
<![CDATA[
[Mixin]
]]>
</mx:Metadata>
<!-- end of set of lines that must be in each unit test -->
<testCases>
<!-- childAdd -->
<TestCase testID="childAdd_atZero" description="Check that childAdd is triggered after adding a component to an empty TitleWindow" keywords="[childAdd, TitleWindow]">
<setup>
<ResetComponent target="tw" className="mx.containers.TitleWindow" waitTarget="tw" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="addAButton(0,0)" waitTarget="tw" waitEvent="updateComplete" />
<AssertEvent target="tw" eventName="childAdd" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<TestCase testID="childAdd_middle" description="Check that childAdd is triggered after adding a component to middle of a TitleWindow" keywords="[childAdd, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="addAButton(3,1)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childAdd" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<TestCase testID="childAdd_atEnd" description="Check that childAdd is triggered after adding a component to end of a TitleWindow" keywords="[childAdd, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="addAButton(7,1)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childAdd" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<TestCase testID="childAdd_afterRemove" description="Check that childAdd is triggered after removing a component and then adding one" keywords="[childAdd, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="application.myTW.removeChildAt(2)" waitTarget="myTW" waitEvent="updateComplete" />
<RunCode code="addAButton(2,1)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childAdd" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<!-- childRemove -->
<TestCase testID="childRemove_atZero" description="Check that childRemove is triggered after removing the last component of a TitleWindow" keywords="[childRemove, TitleWindow]">
<setup>
<ResetComponent target="tw" className="mx.containers.TitleWindow" waitTarget="tw" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="addAButton(0,0)" waitTarget="tw" waitEvent="updateComplete" />
<RunCode code="application.tw.removeChildAt(0)" waitTarget="tw" waitEvent="updateComplete" />
<AssertEvent target="tw" eventName="childRemove" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<TestCase testID="childRemove_middle" description="Check that childRemove is triggered after removing a component in the middle of a TitleWindow" keywords="[childRemove, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="application.myTW.removeChildAt(3)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childRemove" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<TestCase testID="childRemove_atEnd" description="Check that childRemove is triggered after removing a component at the end of a TitleWindow" keywords="[childRemove, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="application.myTW.removeChildAt(6)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childRemove" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<TestCase testID="childRemove_afterAdd" description="Check that childRemove is triggered after adding a component and then removing one" keywords="[childRemove, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="addAButton(2,1)" waitTarget="myTW" waitEvent="updateComplete" />
<RunCode code="application.myTW.removeChildAt(2)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childRemove" eventClass="mx.events::ChildExistenceChangedEvent" />
</body>
</TestCase>
<!-- childIndexChange -->
<TestCase testID="childIndexChange_atZero" description="Check that childIndexChange is triggered after calling setChildIndex on the first component of a TitleWindow" keywords="[childIndexChange, TitleWindow]">
<setup>
<ResetComponent target="tw" className="mx.containers.TitleWindow" waitTarget="tw" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="addAButton(0,0)" waitTarget="tw" waitEvent="updateComplete" />
<RunCode code="addAButton(0,0)" waitTarget="tw" waitEvent="updateComplete" />
<RunCode code="application.tw.setChildIndex(application.tw.getChildAt(0),1)" waitTarget="tw" waitEvent="updateComplete" />
<AssertEvent target="tw" eventName="childIndexChange" eventClass="mx.events::IndexChangedEvent" />
</body>
</TestCase>
<TestCase testID="childIndexChange_middle" description="Check that childIndexChange is triggered after calling setChildIndex on a component in the middle of a TitleWindow" keywords="[childIndexChange, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="application.myTW.setChildIndex(application.myTW.getChildAt(3), 5)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childIndexChange" eventClass="mx.events::IndexChangedEvent" />
</body>
</TestCase>
<TestCase testID="childIndexChange_atEnd" description="Check that childIndexChange is triggered after calling setChildIndex on a component at the end of a TitleWindow" keywords="[childIndexChange, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<RunCode code="application.myTW.setChildIndex(application.myTW.getChildAt(6), 0)" waitTarget="myTW" waitEvent="updateComplete" />
<AssertEvent target="myTW" eventName="childIndexChange" eventClass="mx.events::IndexChangedEvent" />
</body>
</TestCase>
<!-- scroll -->
<TestCase testID="scroll_keyBoardDown" description="Check that scroll event is triggered after when using the down arrow key on a TitleWindow" keywords="[scroll, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty propertyName="width" value="120" target="myTW" />
<SetProperty propertyName="height" value="140" target="myTW" waitTarget="myTW" waitEvent="updateComplete" />
<DispatchKeyEvent keys="[TAB, TAB, DOWN, DOWN]" waitEvent="scroll" waitTarget="myTW" />
<AssertEvent target="myTW" eventName="scroll" eventClass="mx.events::ScrollEvent" numExpectedEvents="2" />
</body>
</TestCase>
<TestCase testID="scroll_keyBoardUp" description="Check that scroll event is triggered after using your up arrow to scroll in a TitleWindow" keywords="[scroll, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty propertyName="width" value="120" target="myTW" />
<SetProperty propertyName="height" value="140" target="myTW" />
<SetProperty propertyName="verticalScrollPosition" value="10" waitTarget="myTW" waitEvent="updateComplete" />
<DispatchKeyEvent keys="[TAB, TAB, UP]" waitEvent="scroll" waitTarget="myTW"/>
<AssertEvent target="myTW" eventName="scroll" eventClass="mx.events::ScrollEvent" />
</body>
</TestCase>
<TestCase testID="scroll_keyboardRight" description="Check that scroll is triggered after pressing the right key to scroll in a TitleWindow" keywords="[scroll, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty propertyName="width" value="220" target="myTW.button2" />
<SetProperty propertyName="width" value="100" target="myTW" waitTarget="myTW" waitEvent="updateComplete" />
<DispatchKeyEvent keys="[TAB, TAB, RIGHT]" waitEvent="scroll" waitTarget="myTW"/>
<AssertEvent target="myTW" eventName="scroll" eventClass="mx.events::ScrollEvent" />
</body>
</TestCase>
<TestCase testID="scroll_keyboardLeft" description="Check that scroll is triggered after pressing the left key to scroll in a TitleWindow" keywords="[scroll, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty propertyName="width" value="220" target="myTW.button2" />
<SetProperty propertyName="width" value="100" target="myTW" />
<SetProperty propertyName="horizontalScrollPosition" value="10" waitTarget="myTW" waitEvent="updateComplete" />
<DispatchKeyEvent keys="[TAB, TAB, LEFT]" waitEvent="scroll" waitTarget="myTW"/>
<AssertEvent target="myTW" eventName="scroll" eventClass="mx.events::ScrollEvent" />
</body>
</TestCase>
<TestCase testID="scroll_mouseOnHorizontal" description="Check that scroll is triggered after pressing the mouse on a horizontal scrollbar in a TitleWindow" keywords="[scroll, TitleWindow]">
<setup>
<ResetComponent target="myTW" className="MyTw" waitTarget="myTW" waitEvent="updateComplete" />
</setup>
<body>
<SetProperty propertyName="width" value="220" target="myTW.button2" />
<SetProperty propertyName="width" value="100" target="myTW" waitTarget="myTW" waitEvent="updateComplete" />
<DispatchMouseEvent type="mouseDown" target="myTW.rawChildren.getChildAt(3)" localX="6" localY="37" />
<DispatchMouseEvent type="mouseUp" target="myTW.rawChildren.getChildAt(3)" localX="6" localY="37" />
<AssertEvent target="myTW" eventName="scroll" eventClass="mx.events::ScrollEvent" />
</body>
</TestCase>
</testCases>
</UnitTester>