blob: 8b15100d51c678eac3b1fcc6337c47a7dee6fa08 [file] [log] [blame]
<UnitTester
testSWF="../SWFs/Transition_Properties_main.mxml"
testDir="mx/states/Transition/properties/"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*">
<mx:Script>
<![CDATA[
import mx.core.Application;
import mx.states.Transition;
import mx.managers.*;
import flash.utils.*;
import comps.TitleWindowComp;
public static function init(o:DisplayObject):void{}
/*
This function is used to verify that the point at which a Transition stopped is between its value in State1 and State2.
For example, if you are moving from (0, 10) in State 1 to (35, 100) in State 2 and (45, 90) in State 3, you might use
this function to check the x value that should be between State 1 and State 2 by calling: verifyPoint(pointToCheck, 35, 0)
*/
public function verifyPoint(a:Number, b:Number, c:Number):Boolean
{
if((a < b) && (c < a))
return true;
else
return false;
}
public function closeAllPopUps():void{
//if(application.systemManager.popUpChildren.numChildren > 0){
PopUpManager.removePopUp(application.newPopUp);
//}
}
]]>
</mx:Script>
<mx:Metadata><![CDATA[[Mixin]]]></mx:Metadata>
<testCases>
<TestCase testID="Transition_PopUp_interruptionBehavior_stop" keywords="[PopUpManager,Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=stop works with a popped up component.">
<setup>
<RunCode code="application.openPopUp()" waitTarget="newPopUp" waitEvent="creationComplete" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="stop" target="newPopUp.mainTransition" />
<SetProperty propertyName="currentState" value="State2" target="newPopUp" waitEvent="effectStart"
waitTarget="newPopUp.group1" />
<Pause timeout="100"/>
<SetProperty propertyName="currentState" value="State3" target="newPopUp" waitEvent="effectStart"
waitTarget="newPopUp.group1" />
<AssertMethodValue method="value=verifyPoint(application.newPopUp.group1.width, 400, 100)" value="true" />
<AssertMethodValue method="value=verifyPoint(application.newPopUp.group1.height, 300, 250)" value="true" />
</body>
</TestCase>
<TestCase testID="Transition_PopUp_interruptionBehavior_end" keywords="[PopUpManager,Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=stop works with a popped up component.">
<setup>
<RunCode code="application.closePopUp()" />
<Pause timeout="200" />
<RunCode code="application.openPopUp()" />
<Pause timeout="200" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="end" target="newPopUp.mainTransition" />
<SetProperty propertyName="currentState" value="State2" target="newPopUp" waitEvent="effectStart"
waitTarget="newPopUp.group1" />
<Pause timeout="100"/>
<SetProperty propertyName="currentState" value="State3" target="newPopUp" waitEvent="effectStart"
waitTarget="newPopUp.group1" />
<AssertMethodValue method="value=verifyPoint(application.newPopUp.group1.width, 102, 98)" value="true" />
<AssertMethodValue method="value=verifyPoint(application.newPopUp.group1.height, 252, 248)" value="true" />
<RunCode code="application.closePopUp()" />
<Pause timeout="200" />
</body>
</TestCase>
<TestCase testID="Transition_repeatCount_interruptionBehavior_stop" keywords="[Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=stop works with a Move effect playing multiple times.">
<setup>
<SetProperty propertyName="selectedIndex" value="1" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<ResetComponent target="moveComp" className="comps.MoveComponents" waitEvent="updateComplete"
waitTarget="myAccordion" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="stop" target="moveComp.mainTransition" />
<SetProperty propertyName="duration" value="150" target="moveComp.move1" />
<SetProperty propertyName="startDelay" value="50" target="moveComp.move1" />
<SetProperty propertyName="repeatCount" value="3" target="moveComp.move1" />
<SetProperty propertyName="currentState" value="State2" target="moveComp" waitEvent="effectStart"
waitTarget="moveComp.button1" />
<Pause timeout="250"/>
<SetProperty propertyName="currentState" value="State3" target="moveComp" waitEvent="effectStart"
waitTarget="moveComp.button1" />
<Pause timeout="20" />
<AssertMethodValue method="value=verifyPoint(Math.round(application.moveComp.button1.x), 11, 0)" value="true" />
<AssertMethodValue method="value=verifyPoint(Math.round(application.moveComp.button1.y), 100, 15)" value="false" />
</body>
</TestCase>
<TestCase testID="Transition_repeatCount_interruptionBehavior_end" keywords="[Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=end works with a Move effect playing multiple times.">
<setup>
<SetProperty propertyName="selectedIndex" value="12" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<SetProperty propertyName="selectedIndex" value="1" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<ResetComponent target="moveComp" className="comps.MoveComponents" waitEvent="updateComplete"
waitTarget="myAccordion" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="end" target="moveComp.mainTransition" />
<SetProperty propertyName="duration" value="150" target="moveComp.move1" />
<SetProperty propertyName="startDelay" value="50" target="moveComp.move1" />
<SetProperty propertyName="repeatCount" value="3" target="moveComp.move1" />
<SetProperty propertyName="currentState" value="State2" target="moveComp" waitEvent="effectStart"
waitTarget="moveComp.button1" />
<Pause timeout="250"/>
<SetProperty propertyName="currentState" value="State3" target="moveComp" waitEvent="effectStart"
waitTarget="moveComp.button1" />
<AssertMethodValue method="value=Math.round(application.moveComp.button1.x)" value="11" />
<AssertMethodValue method="value=Math.round(application.moveComp.button1.y)" value="100" />
<AssertMethodValue method="value=verifyPoint(application.moveComp.button1.x,13,9)" value="true" />
<AssertMethodValue method="value=verifyPoint(application.moveComp.button1.y, 102, 98)" value="true" />
</body>
</TestCase>
<TestCase testID="Transition_stateGroups_interruptionBehavior_stop" keywords="[Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=stop works with components that don't exist in some states and use state groups.">
<setup>
<SetProperty propertyName="selectedIndex" value="3" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<SetProperty propertyName="selectedIndex" value="18" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<ResetComponent target="groupsComp" className="comps.AddComponents" waitEvent="updateComplete"
waitTarget="myAccordion" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="stop" target="groupsComp.mainTransition" />
<SetProperty propertyName="interruptionBehavior" value="stop" target="groupsComp.mainTransition2" />
<SetProperty propertyName="interruptionBehavior" value="stop" target="groupsComp.mainTransition3" />
<SetProperty propertyName="currentState" value="State2" target="groupsComp" waitEvent="effectStart"
waitTarget="groupsComp.rect1" />
<Pause timeout="250"/>
<SetProperty propertyName="currentState" value="State3" target="groupsComp" waitEvent="effectStart"
waitTarget="groupsComp.rect1" />
<AssertMethodValue method="value=verifyPoint(Math.round(application.groupsComp.rect1.width), 250, 100)" value="true" />
<AssertMethodValue method="value=verifyPoint(Math.round(application.groupsComp.rect1.height), 250, 150)" value="true" />
</body>
</TestCase>
<TestCase testID="Transition_stateGroups_interruptionBehavior_end" keywords="[Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=end works with components that don't exist in some states and use state groups.">
<setup>
<SetProperty propertyName="selectedIndex" value="1" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<SetProperty propertyName="selectedIndex" value="18" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<ResetComponent target="groupsComp" className="comps.AddComponents" waitEvent="updateComplete"
waitTarget="myAccordion" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="end" target="groupsComp.mainTransition" />
<SetProperty propertyName="interruptionBehavior" value="end" target="groupsComp.mainTransition2" />
<SetProperty propertyName="interruptionBehavior" value="end" target="groupsComp.mainTransition3" />
<SetProperty propertyName="currentState" value="State2" target="groupsComp" waitEvent="effectStart"
waitTarget="groupsComp.rect1" />
<Pause timeout="250"/>
<SetProperty propertyName="currentState" value="State3" target="groupsComp" waitEvent="effectStart"
waitTarget="groupsComp.rect1" />
<AssertMethodValue method="value=verifyPoint(Math.round(application.groupsComp.rect1.width), 102, 98)" value="true" />
<AssertMethodValue method="value=verifyPoint(Math.round(application.groupsComp.rect1.height), 152, 148)" value="true" />
</body>
</TestCase>
<TestCase testID="Transition_EasingEffect_interruptionBehavior_stop" keywords="[EasingFunction,Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=stop works with an effect that uses an easer.">
<setup>
<SetProperty propertyName="selectedIndex" value="1" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<SetProperty propertyName="selectedIndex" value="19" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<ResetComponent target="easingComp" className="comps.EasingComponents" waitEvent="updateComplete"
waitTarget="myAccordion" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="stop" target="easingComp.mainTransition" />
<SetProperty propertyName="currentState" value="State2" target="easingComp" waitEvent="effectStart"
waitTarget="easingComp.button1" />
<Pause timeout="250"/>
<SetProperty propertyName="currentState" value="State3" target="easingComp" waitEvent="effectStart"
waitTarget="easingComp.button1" />
<AssertMethodValue method="value=verifyPoint(application.easingComp.button1.width, 250, 50)" value="true" />
<AssertMethodValue method="value=verifyPoint(application.easingComp.button1.height, 90, 50)" value="true" />
</body>
</TestCase>
<TestCase testID="Transition_EasingEffect_interruptionBehavior_end" keywords="[EasingFunction,Transition, interruptionBehavior]"
description="Verify that interruptionBehavior=end works with an effect that uses an easer.">
<setup>
<SetProperty propertyName="selectedIndex" value="1" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<SetProperty propertyName="selectedIndex" value="19" target="myAccordion" waitEvent="updateComplete"
waitTarget="myAccordion" />
<ResetComponent target="easingComp" className="comps.EasingComponents" waitEvent="updateComplete"
waitTarget="myAccordion" />
</setup>
<body>
<SetProperty propertyName="interruptionBehavior" value="end" target="easingComp.mainTransition" />
<SetProperty propertyName="currentState" value="State2" target="easingComp" waitEvent="effectStart"
waitTarget="easingComp.button1" />
<Pause timeout="250"/>
<SetProperty propertyName="currentState" value="State3" target="easingComp" waitEvent="effectStart"
waitTarget="easingComp.button1" />
<AssertMethodValue method="value=Math.round(application.easingComp.button1.width)" value="250" />
<AssertMethodValue method="value=Math.round(application.easingComp.button1.height)" value="90" />
</body>
</TestCase>
</testCases>
</UnitTester>