FLEX-34440 moved the unit test where it can be run by 'ant test'. Also, the 
main test runner is an Application, rather than a WindowedApplication, so I 
changed how uncaught client errors are captured to reflect this.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/1cdebb1b
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/1cdebb1b
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/1cdebb1b

Branch: refs/heads/develop
Commit: 1cdebb1b00e69a546b9dd98605d3e44ffc1375cd
Parents: c305c9c
Author: Mihai Chira <mih...@apache.org>
Authored: Tue Mar 10 16:53:31 2015 +0100
Committer: Erik de Bruin <e...@ixsoftware.nl>
Committed: Fri Mar 20 09:51:25 2015 +0100

----------------------------------------------------------------------
 ...icalCollectionViewCursor_FLEX_34440_Tests.as | 141 ++++++++++++++++++
 ...hicalCollectionViewCursor_FLEX_34440_Test.as | 146 -------------------
 2 files changed, 141 insertions(+), 146 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1cdebb1b/frameworks/projects/advancedgrids/tests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Tests.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/advancedgrids/tests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Tests.as
 
b/frameworks/projects/advancedgrids/tests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Tests.as
new file mode 100644
index 0000000..31ca0d8
--- /dev/null
+++ 
b/frameworks/projects/advancedgrids/tests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Tests.as
@@ -0,0 +1,141 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+    import flash.events.UncaughtErrorEvent;
+
+    import mx.core.FlexGlobals;
+
+    import org.flexunit.asserts.assertNotNull;
+    import org.flexunit.asserts.assertTrue;
+
+    import spark.components.Application;
+
+    public class HierarchicalCollectionViewCursor_FLEX_34440_Tests
+       {
+        private static var _utils:HierarchicalCollectionViewTestUtils = new 
HierarchicalCollectionViewTestUtils();
+        private static var _noErrorsThrown:Boolean = true;
+        private static var _currentHierarchy:HierarchicalCollectionView;
+        private static var _sut:HierarchicalCollectionViewCursor;
+        private static var _operationCursor:HierarchicalCollectionViewCursor;
+
+               [BeforeClass]
+               public static function setUpBeforeClass():void
+               {
+            if(FlexGlobals.topLevelApplication is Application)
+                (FlexGlobals.topLevelApplication as 
Application).loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,
 onUncaughtClientError);
+        }
+               
+               [AfterClass]
+               public static function tearDownAfterClass():void
+               {
+            if(FlexGlobals.topLevelApplication is Application)
+                (FlexGlobals.topLevelApplication as 
Application).loaderInfo.uncaughtErrorEvents.removeEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,
 onUncaughtClientError);
+               }
+               
+               [Before]
+               public function setUp():void
+               {
+                       _currentHierarchy = 
_utils.generateOpenHierarchyFromRootListWithAllNodesMethod(_utils.generateHierarchySourceFromString(HIERARCHY_STRING));
+                       _sut = _currentHierarchy.createCursor() as 
HierarchicalCollectionViewCursor;
+               }
+               
+               [After]
+               public function tearDown():void
+               {
+                       _sut = null;
+                       _currentHierarchy = null;
+                       _operationCursor = null;
+               }
+
+               [Test]
+        public function testReproduce_FLEX_34440():void
+        {
+                       //GIVEN
+                       var selectedItemIndex:int = 10, operationIndex:int = 5;
+                       
+                       //WHEN
+                       //1. Select a specific node
+                       _sut.seek(new CursorBookmark(selectedItemIndex));
+                       
+            var selectedNode:DataNode = DataNode(_sut.current);
+            assertNotNull(selectedNode);
+                   selectedNode.isSelected = true;
+
+            //2. Perform setItemAt operation
+                       _operationCursor = _currentHierarchy.createCursor() as 
HierarchicalCollectionViewCursor;
+                       _operationCursor.seek(new 
CursorBookmark(operationIndex));
+                   performReplacement(_operationCursor);
+
+            //THEN
+            assertTrue(_noErrorsThrown);
+        }
+               
+        private static function 
performReplacement(where:HierarchicalCollectionViewCursor):void
+        {
+            var itemToBeReplaced:DataNode = where.current as DataNode;
+            assertNotNull(itemToBeReplaced);
+
+            var parentOfReplacementLocation:DataNode = 
_currentHierarchy.getParentItem(itemToBeReplaced) as DataNode;
+            var collectionToChange:ArrayCollection = 
parentOfReplacementLocation ? parentOfReplacementLocation.children : 
_utils.getRoot(_currentHierarchy) as ArrayCollection;
+            var replacedItemIndex:int = 
collectionToChange.getItemIndex(itemToBeReplaced);
+
+            
collectionToChange.setItemAt(_utils.createSimpleNode(itemToBeReplaced.label + " 
[REPLACED NODE]"), replacedItemIndex);
+        }
+
+
+
+               
+               
+               private static function 
onUncaughtClientError(event:UncaughtErrorEvent):void
+               {
+                       event.preventDefault();
+                       event.stopImmediatePropagation();
+                       _noErrorsThrown = false;
+                       
+                       trace("\n FAIL: " + event.error);
+                       _utils.printHCollectionView(_currentHierarchy);
+               }
+
+
+        private static const HIERARCHY_STRING:String = (<![CDATA[
+         Region(1)
+         Region(2)
+                Region(2)->City(0)
+         Region(2)->City(1)
+         Region(2)->City(1)->Company(1)
+         Region(2)->City(1)->Company(2)TBR
+         Region(2)->City(1)->Company(2)TBR->Department(1)
+         Region(2)->City(1)->Company(2)TBR->Department(2)
+         Region(2)->City(1)->Company(2)TBR->Department(2)->Employee(1)
+         Region(2)->City(1)->Company(2)TBR->Department(2)->Employee(2)
+         Region(2)->City(1)->Company(2)TBR->Department(2)->Employee(3)SEL
+         Region(2)->City(1)->Company(2)TBR->Department(3)
+         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(1)
+         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(2)
+         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(3)
+         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(4)
+         Region(2)->City(1)->Company(3)
+         Region(2)->City(1)->Company(3)->Department(1)
+         Region(2)->City(1)->Company(3)->Department(1)->Employee(1)
+         Region(2)->City(1)->Company(3)->Department(2)
+       ]]>).toString();
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1cdebb1b/frameworks/tests/unitTests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Test.as
----------------------------------------------------------------------
diff --git 
a/frameworks/tests/unitTests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Test.as
 
b/frameworks/tests/unitTests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Test.as
deleted file mode 100644
index a530195..0000000
--- 
a/frameworks/tests/unitTests/mx/collections/HierarchicalCollectionViewCursor_FLEX_34440_Test.as
+++ /dev/null
@@ -1,146 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.collections
-{
-import flash.events.UncaughtErrorEvent;
-
-import mx.collections.ArrayCollection;
-import mx.collections.CursorBookmark;
-import mx.collections.HierarchicalCollectionView;
-import mx.collections.HierarchicalCollectionViewCursor;
-import mx.core.FlexGlobals;
-
-import org.flexunit.asserts.assertNotNull;
-import org.flexunit.asserts.assertTrue;
-import org.flexunit.runners.Parameterized;
-
-import spark.components.WindowedApplication;
-
-public class HierarchicalCollectionViewCursor_FLEX_34440_Test
-       {
-        private static var _utils:HierarchicalCollectionViewTestUtils = new 
HierarchicalCollectionViewTestUtils();
-        private static var _noErrorsThrown:Boolean = true;
-        private static var _currentHierarchy:HierarchicalCollectionView;
-        private static var _sut:HierarchicalCollectionViewCursor;
-        private static var _operationCursor:HierarchicalCollectionViewCursor;
-
-               [BeforeClass]
-               public static function setUpBeforeClass():void
-               {
-            if(FlexGlobals.topLevelApplication is WindowedApplication)
-                (FlexGlobals.topLevelApplication as 
WindowedApplication).loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,
 onUncaughtClientError);
-        }
-               
-               [AfterClass]
-               public static function tearDownAfterClass():void
-               {
-            if(FlexGlobals.topLevelApplication is WindowedApplication)
-                (FlexGlobals.topLevelApplication as 
WindowedApplication).loaderInfo.uncaughtErrorEvents.removeEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,
 onUncaughtClientError);
-               }
-               
-               [Before]
-               public function setUp():void
-               {
-                       _currentHierarchy = 
_utils.generateOpenHierarchyFromRootListWithAllNodesMethod(_utils.generateHierarchySourceFromString(HIERARCHY_STRING));
-                       _sut = _currentHierarchy.createCursor() as 
HierarchicalCollectionViewCursor;
-               }
-               
-               [After]
-               public function tearDown():void
-               {
-                       _sut = null;
-                       _currentHierarchy = null;
-                       _operationCursor = null;
-               }
-
-               [Test]
-        public function testReproduce_FLEX_34440():void
-        {
-                       //GIVEN
-                       var selectedItemIndex:int = 10, operationIndex:int = 5;
-                       
-                       //WHEN
-                       //1. Select a specific node
-                       _sut.seek(new CursorBookmark(selectedItemIndex));
-                       
-            var selectedNode:DataNode = DataNode(_sut.current);
-            assertNotNull(selectedNode);
-                   selectedNode.isSelected = true;
-
-            //2. Perform setItemAt operation
-                       _operationCursor = _currentHierarchy.createCursor() as 
HierarchicalCollectionViewCursor;
-                       _operationCursor.seek(new 
CursorBookmark(operationIndex));
-                   performReplacement(_operationCursor);
-
-            //THEN
-            assertTrue(_noErrorsThrown);
-        }
-               
-        private static function 
performReplacement(where:HierarchicalCollectionViewCursor):void
-        {
-            var itemToBeReplaced:DataNode = where.current as DataNode;
-            assertNotNull(itemToBeReplaced);
-
-            var parentOfReplacementLocation:DataNode = 
_currentHierarchy.getParentItem(itemToBeReplaced) as DataNode;
-            var collectionToChange:ArrayCollection = 
parentOfReplacementLocation ? parentOfReplacementLocation.children : 
_utils.getRoot(_currentHierarchy) as ArrayCollection;
-            var replacedItemIndex:int = 
collectionToChange.getItemIndex(itemToBeReplaced);
-
-            
collectionToChange.setItemAt(_utils.createSimpleNode(itemToBeReplaced.label + " 
[REPLACED NODE]"), replacedItemIndex);
-        }
-
-
-
-               
-               
-               private static function 
onUncaughtClientError(event:UncaughtErrorEvent):void
-               {
-                       event.preventDefault();
-                       event.stopImmediatePropagation();
-                       _noErrorsThrown = false;
-                       
-                       trace("\n FAIL: " + event.error);
-                       _utils.printHCollectionView(_currentHierarchy);
-               }
-
-
-        private static const HIERARCHY_STRING:String = (<![CDATA[
-         Region(1)
-         Region(2)
-                Region(2)->City(0)
-         Region(2)->City(1)
-         Region(2)->City(1)->Company(1)
-         Region(2)->City(1)->Company(2)TBR
-         Region(2)->City(1)->Company(2)TBR->Department(1)
-         Region(2)->City(1)->Company(2)TBR->Department(2)
-         Region(2)->City(1)->Company(2)TBR->Department(2)->Employee(1)
-         Region(2)->City(1)->Company(2)TBR->Department(2)->Employee(2)
-         Region(2)->City(1)->Company(2)TBR->Department(2)->Employee(3)SEL
-         Region(2)->City(1)->Company(2)TBR->Department(3)
-         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(1)
-         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(2)
-         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(3)
-         Region(2)->City(1)->Company(2)TBR->Department(3)->Employee(4)
-         Region(2)->City(1)->Company(3)
-         Region(2)->City(1)->Company(3)->Department(1)
-         Region(2)->City(1)->Company(3)->Department(1)->Employee(1)
-         Region(2)->City(1)->Company(3)->Department(2)
-       ]]>).toString();
-       }
-}
\ No newline at end of file

Reply via email to