<?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="apollo/FileTree/methods/"  xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" testSWF="FileTree_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 flash.system.Capabilities;

		import mx.controls.FileSystemTree;

		import flash.filesystem.File;

		import mx.collections.ArrayCollection;

		public var myAC:ArrayCollection = new ArrayCollection();



		[Bindable]

		public var contentLength:int = -1;



		[Bindable]

		public var myOS:String;

		[Bindable]

		public var newDirectory:File;



		private function whichOS():void

	 	{

			if (Capabilities.os.indexOf("Windows") != -1){

				myOS="windows";

				newDirectory = new File("c:\\windows");

			}



			else if (Capabilities.os.indexOf("Mac") != -1){

				myOS="System";

				newDirectory = new File("/System/");

			}

		}

		

		private function setDir(): void

		{

			application.myFileSystemTree.directory=newDirectory;	

		}

		

		private function setVal(): void

		{

			application.myFileSystemTree.directory=newDirectory;

			application.myFileSystemTree.extensions=[".txt"];	

		}



		private function updateBackHis():String{

			myAC.source = application.myFileSystemTree.backHistory;

			return String(myAC.source.length);



		}



		private function checkcurrentpath():String{



			return String(application.myFileSystemTree.directory.name);



		}

		private function setDirC(): void{



			application.myFileSystemTree.directory=newDirectory;	

		}

		private function checkContentLength():String{

			return String(application.myFileSystemTree.dataProvider.length);

		}

		

		private function setContentLength():void{

	      		contentLength = application.myFileSystemTree.dataProvider.length;

      		}

      	

	]]>

	</mx:Script>



	<testCases>

		

		<TestCase testID="FileSystemTree_Method_clear_set" keywords="[clear, FileSystemTree]">

			<setup>

				<RunCode code="whichOS()"/>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<RunCode code="application.myFileSystemTree.clear()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

			</setup>

			<body>

				<AssertMethodValue target="myFileSystemTree" method="value=checkContentLength()" value="0"/>

			</body>

		</TestCase>



		<TestCase testID="FileSystemTree_Method_refresh_set" keywords="[Refresh, FileSystemTree]">

			<setup>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<RunCode code="setContentLength()"/>

				<RunCode code="application.myFileSystemTree.clear()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

				<RunCode code="application.myFileSystemTree.refresh()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

			</setup>

			<body>

				<AssertMethodValue target="myFileSystemTree" method="value=checkContentLength()" value="{contentLength}"/>

			</body>

		</TestCase>

		<!-- Tests commented out since inception

		<TestCase testID="FileSystemTree_Method_openSelectedSubdirectory_aftersetting" keywords="[openSelectedSubdirectory, FileSystemTree]">

			<setup>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="myFileSystemTree"/>

				<DispatchMouseEvent type="mouseDown" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchMouseEvent type="mouseUp" localX="10" localY="10" target="myFileSystemTree" />



			</setup>

			<body>

				<AssertMethodValue target="myFileSystemTree" method="application.myFileSystemTree.openSelectedSubdirectory()"/>

			</body>

		</TestCase>

		<TestCase testID="FileSystemTree_Method_closeSelectedSubdirectory_aftersetting" keywords="[closeSelectedSubdirectory, FileSystemTree]">

			<setup>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="myFileSystemTree"/>

				<DispatchMouseEvent type="mouseDown" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchMouseEvent type="mouseUp" localX="10" localY="10" target="myFileSystemTree" />

				<RunCode code="application.myFileSystemTree.openSelectedSubdirectory()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

				<DispatchMouseEvent type="mouseDown" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchMouseEvent type="mouseUp" localX="10" localY="10" target="myFileSystemTree" />

			</setup>

			<body>

				<AssertMethodValue target="myFileSystemTree" method="application.myFileSystemTree.closeSelectedSubdirectory()"/>

			</body>

		</TestCase>

-->

		<!--

<TestCase testID="FileSystemTree_Method_navigateUp_aftersetting" keywords="[canNavigateBack, FileSystemTree]">

			<setup>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="myFileSystemTree"/>

				<DispatchMouseEvent type="mouseDown" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchMouseEvent type="mouseUp" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchKeyEvent keys="[ENTER]" waitEvent="directoryChange" waitTarget="myFileSystemTree"/>

				<RunCode code="application.myFileSystemTree.navigateUp()" waitEvent="directoryChange" waitTarget="myFileSystemTree"/>

			</setup>

			<body>

				

				<AssertPropertyValue target="myFileSystemTree" propertyName="canNavigateUp" value="false" />

			</body>

		</TestCase>



		<TestCase testID="FileSystemTree_Method_navigateBack_aftersetting" keywords="[canNavigateBack, FileSystemTree]">

			<setup>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="myFileSystemTree"/>

				<DispatchMouseEvent type="mouseDown" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchMouseEvent type="mouseUp" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchKeyEvent keys="[ENTER]" waitEvent="directoryChange" waitTarget="myFileSystemTree"/>

				<RunCode code="application.myFileSystemTree.navigateBack()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

			</setup>

			<body>

				

				<AssertPropertyValue target="myFileSystemTree" propertyName="canNavigateBack" value="false" />

			</body>

		</TestCase>





		<TestCase testID="FileSystemTree_Method_navigateForward_aftersetting" keywords="[canNavigateBack, FileSystemTree]">

			<setup>

			 	<ResetComponent target="myFileSystemTree" className="mx.controls::FileSystemTree" waitEvent="updateComplete" waitTarget="myFileSystemTree"/> 

				<DispatchKeyEvent keys="[TAB]" waitEvent="focusIn" waitTarget="myFileSystemTree"/>

				<DispatchMouseEvent type="mouseDown" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchMouseEvent type="mouseUp" localX="10" localY="10" target="myFileSystemTree" />

				<DispatchKeyEvent keys="[ENTER]" waitEvent="directoryChange" waitTarget="myFileSystemTree"/>

				<RunCode code="application.myFileSystemTree.navigateBack()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

				<RunCode code="application.myFileSystemTree.navigateForward()" waitEvent="updateComplete" waitTarget="myFileSystemTree"/>

			</setup>

			<body>

				

				<AssertPropertyValue target="myFileSystemTree" propertyName="canNavigateBack" value="true" />

			</body>

		</TestCase>

		-->

	</testCases>



</UnitTester>

