| <?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="mobile/TabbedViewNavigatorApplication/keys/" |
| xmlns:fx="http://ns.adobe.com/mxml/2009" |
| xmlns:s="library://ns.adobe.com/flex/spark" |
| xmlns:mx="library://ns.adobe.com/flex/mx" |
| xmlns="*" |
| testSWF="TabbedAppNoNavigators.mxml"> |
| |
| <!-- This set of lines form a template that must be in each unit test. --> |
| <fx:Script> |
| <![CDATA[ |
| public static function init(o:DisplayObject):void |
| { |
| } |
| ]]> |
| </fx:Script> |
| |
| <fx:Metadata> |
| <![CDATA[ |
| [Mixin] |
| ]]> |
| </fx:Metadata> |
| <!-- end of set of lines that must be in each unit test --> |
| |
| <fx:Script> |
| <![CDATA[ |
| import views.*; |
| import mx.core.FlexGlobals; |
| import spark.components.TabbedViewNavigator; |
| import spark.components.View; |
| import spark.components.ViewNavigator; |
| import spark.components.supportClasses.ViewNavigatorBase; |
| |
| private var _nav1:ViewNavigator; |
| private var _nav2:ViewNavigator; |
| |
| public function get nav1():ViewNavigator |
| { |
| if (_nav1 == null) |
| { |
| _nav1 = new ViewNavigator(); |
| _nav1.percentWidth = 100; |
| _nav1.percentHeight = 100; |
| _nav1.label = "Nav1"; |
| } |
| return _nav1; |
| } |
| |
| public function get nav2():ViewNavigator |
| { |
| if (_nav2 == null) |
| { |
| _nav2 = new ViewNavigator(); |
| _nav2.percentWidth = 100; |
| _nav2.percentHeight = 100; |
| _nav2.label = "Nav2"; |
| } |
| return _nav2; |
| } |
| |
| public function activeView() : View |
| { |
| return tabbedNavigator().activeView; |
| } |
| |
| public function tabbedNavigator() : TabbedViewNavigator |
| { |
| return FlexGlobals.topLevelApplication.tabbedNavigator; |
| } |
| |
| public function selectedNavigator() : ViewNavigator |
| { |
| return FlexGlobals.topLevelApplication.tabbedNavigator.selectedNavigator; |
| } |
| |
| ]]> |
| </fx:Script> |
| |
| <testCases> |
| <TestCase testID="tabbedViewNavigatorApp_menuKey_noActiveNavigator" description="Press device menu key should do nothing" keywords="[TabbedViewNavigatorApplication]"> |
| <setup> |
| <RunCode code="FlexGlobals.topLevelApplication.resetNavigator()" waitTarget="tabbedNavigator" waitEvent="resetNavigatorComplete"/> |
| </setup> |
| <body> |
| <AssertMethodValue method="value = (selectedNavigator() == null)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" /> |
| <Pause timeout="200"/> |
| <AssertMethodValue method="value = (selectedNavigator() == null)" value="true"/> |
| </body> |
| </TestCase> |
| |
| <TestCase testID="tabbedViewNavigatorApp_menuKey_activeViewNoMenu" description="Press device menu key will do nothing" keywords="[TabbedViewNavigatorApplication,ViewMenu]"> |
| <setup> |
| <RunCode code="FlexGlobals.topLevelApplication.resetNavigator()" waitTarget="tabbedNavigator" waitEvent="resetNavigatorComplete"/> |
| <RunCode code="FlexGlobals.topLevelApplication.tabbedNavigator.addItem(nav1)" waitTarget="tabbedNavigator" waitEvent="propertyChange"/> |
| <RunCode code="FlexGlobals.topLevelApplication.tabbedNavigator.addItem(nav2)" waitTarget="tabbedNavigator" waitEvent="propertyChange"/> |
| <RunCode code="ViewNavigator(tabbedNavigator().getItemAt(0)).pushView(views.View1)" waitTarget="tabbedNavigator.selectedNavigator" waitEvent="viewChangeComplete"/> |
| <!--RunCode code="tabbedNavigator().selectedIndex = 1" waitTarget="tabbedNavigator" waitEvent="change"/--> |
| <RunCode code="ViewNavigator(tabbedNavigator().getItemAt(1)).pushView(views.View3)"/> |
| </setup> |
| <body> |
| <AssertMethodValue method="value = (activeView() is View1)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" /> |
| <Pause timeout="200"/> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="false"/> |
| <AssertMethodValue method="value = (activeView() is View1)" value="true"/> |
| <RunCode code="tabbedNavigator().selectedIndex = 1" waitTarget="tabbedNavigator" waitEvent="change"/> |
| <AssertMethodValue method="value = (activeView() is View3)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" /> |
| <AssertMethodValue method="value = (activeView() is View3)" value="true"/> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="false"/> |
| </body> |
| </TestCase> |
| |
| <TestCase testID="tabbedViewNavigatorApp_menuKey_activeViewWithMenu" description="Press device menu key should open or close existing view menu" keywords="[TabbedViewNavigatorApplication,ViewMenu]"> |
| <setup> |
| <RunCode code="FlexGlobals.topLevelApplication.resetNavigator()" waitTarget="tabbedNavigator" waitEvent="resetNavigatorComplete"/> |
| <RunCode code="trace('nav length: ' + tabbedNavigator().length)"/> |
| <RunCode code="FlexGlobals.topLevelApplication.tabbedNavigator.addItem(nav1)" waitTarget="tabbedNavigator" waitEvent="propertyChange"/> |
| <RunCode code="trace('nav length: ' + tabbedNavigator().length)"/> |
| <RunCode code="FlexGlobals.topLevelApplication.tabbedNavigator.addItem(nav2)" waitTarget="tabbedNavigator" waitEvent="propertyChange"/> |
| <RunCode code="ViewNavigator(tabbedNavigator().getItemAt(0)).pushView(views.View1)" waitTarget="tabbedNavigator.selectedNavigator" waitEvent="viewChangeComplete"/> |
| <RunCode code="ViewNavigator(tabbedNavigator().getItemAt(1)).pushView(views.View4)" /> |
| </setup> |
| <body> |
| <AssertPropertyValue target="tabbedNavigator" propertyName="length" value="2"/> |
| <AssertMethodValue method="value = (activeView() is View1)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" /> |
| <Pause timeout="200"/> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="false"/> |
| <AssertMethodValue method="value = (activeView() is View1)" value="true"/> |
| <RunCode code="tabbedNavigator().selectedIndex = 1" waitTarget="tabbedNavigator" waitEvent="change"/> |
| <!--RunCode code="selectedNavigator().pushView(views.View4)" waitTarget="tabbedNavigator.selectedNavigator" waitEvent="viewChangeComplete"/--> |
| <AssertMethodValue method="value = (activeView() is View4)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" waitTarget="tabbedNavigator.activeView" waitEvent="viewMenuOpen"/> |
| <AssertMethodValue method="value = (activeView() is View4)" value="true"/> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" waitTarget="tabbedNavigator.activeView" waitEvent="viewMenuClose"/> |
| <AssertMethodValue method="value = (activeView() is View4)" value="true"/> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="false"/> |
| </body> |
| </TestCase> |
| |
| <TestCase testID="tabbedViewNavigatorApp_menuKey_close_onTapOutsideOfMenu" keywords="[TabbedViewNavigatorApplication, ViewMenu]" description="Verify tapping outside the menu will close it"> |
| <setup> |
| <RunCode code="FlexGlobals.topLevelApplication.resetNavigator()" waitTarget="tabbedNavigator" waitEvent="resetNavigatorComplete"/> |
| <RunCode code="FlexGlobals.topLevelApplication.tabbedNavigator.addItem(nav1)" waitTarget="tabbedNavigator" waitEvent="propertyChange"/> |
| <RunCode code="selectedNavigator().pushView(views.View4)" waitTarget="tabbedNavigator.selectedNavigator" waitEvent="viewChangeComplete"/> |
| </setup> |
| <body> |
| <AssertMethodValue method="value = (activeView() is View4)" value="true"/> |
| <DispatchKeyEvent keys="[MENU]" waitTarget="tabbedNavigator.activeView" waitEvent="viewMenuOpen" /> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="true" /> |
| <DispatchMouseClickEvent target="tabbedNavigator.activeView" localX="20" localY="20" waitEvent="viewMenuClose"/> |
| <WaitForEffectsToEnd /> |
| <AssertMethodValue method="value = (FlexGlobals.topLevelApplication.viewMenuOpen)" value="false" /> |
| </body> |
| </TestCase> |
| |
| </testCases> |
| |
| </UnitTester> |