Remove unused variables from OperationTest.as
Add configuration loader to ScrollingTest.as
Fix ignored test "twoColumnsTest"
diff --git a/automation_tests/src/UnitTest/Tests/OperationTest.as b/automation_tests/src/UnitTest/Tests/OperationTest.as
index c0a5fa6..d706665 100644
--- a/automation_tests/src/UnitTest/Tests/OperationTest.as
+++ b/automation_tests/src/UnitTest/Tests/OperationTest.as
@@ -352,7 +352,7 @@
         public function deleteNextPageTest():void
         {
             var onePageRange:TextRange = new TextRange(SelManager.textFlow, 1, 5000);
-            var aa:Boolean = NavigationUtil.nextPage(onePageRange);
+            NavigationUtil.nextPage(onePageRange);
             deletePreviousWordFromRange(5000, 10000);
         }
 
@@ -360,7 +360,7 @@
         public function deletePreviousPageTest():void
         {
             var onePageRange:TextRange = new TextRange(SelManager.textFlow, 5000, 10000);
-            var aa:Boolean = NavigationUtil.nextPage(onePageRange);
+            NavigationUtil.nextPage(onePageRange);
             deletePreviousWordFromRange(1, 5000);
         }
 
@@ -748,8 +748,6 @@
                 callback = true;
                 const cutStart:int = 10;
                 const cutEnd:int = 20;
-                var pasteLength:int = cutEnd - cutStart;
-
                 // Paste into a point selection
                 SelManager.selectRange(cutStart, cutEnd);
                 var scrap:TextScrap = SelManager.cutTextScrap();
@@ -799,7 +797,6 @@
 
                 SelManager.textFlow.addEventListener(FlowOperationEvent.FLOW_OPERATION_END, deleteNextCharExceptionTest, false, 0, true);
 
-                var flowLength:int = SelManager.textFlow.textLength;
                 SelManager.selectRange(pastePosition, pastePosition);
                 (SelManager as IEditManager).pasteTextScrap(scrap);
             }
@@ -1096,7 +1093,6 @@
         [Ignore]
         public function applyFormatToElementTest():void
         {
-            var textFlow:TextFlow = SelManager.textFlow;
             var format1:TextLayoutFormat = new TextLayoutFormat();
             format1.color = 0xff;
             format1.fontSize = 30;
@@ -1949,7 +1945,7 @@
             p1.format = f1;
             p1.addChild(s1);
             var p2:ParagraphElement = new ParagraphElement();
-            var s2:SpanElement = new SpanElement()
+            var s2:SpanElement = new SpanElement();
             s2.text = "two";
             p2.addChild(s2);
             TestFrame.textFlow.replaceChildren(0, 1, p1);
@@ -2051,7 +2047,6 @@
             var child:FlowElement;
             var child2:FlowElement;
             var combinationArray:Array;
-            var subrootId:int = 1;
             var parentId:int = 2;
             var targetId:int = 3;
             var childId:int = 4;
@@ -2182,13 +2177,13 @@
             {
                 (child as SpanElement).text = "text";
             }
-            return new Array(textFlow, subroot, parent, target, child);
+            return [textFlow, subroot, parent, target, child];
         }
 
         private function checkOperation(combinationArray:Array):void
         {
             var textFlow:TextFlow = combinationArray[0];
-            var subroot:FlowGroupElement = combinationArray[1]
+            var subroot:FlowGroupElement = combinationArray[1];
             var parent:FlowGroupElement = combinationArray[2];
             var target:FlowGroupElement = combinationArray[3];
             var child:FlowElement = combinationArray[4];
@@ -2234,7 +2229,7 @@
                     assertTrue(combinedNames + ": fail to undo",
                             subroot.getChildAt(0).id == "2"
                                     && subroot.getChildAt(1).id == "3"
-                                    && (subroot.getChildAt(0) as FlowGroupElement).getChildAt(0).id == "4")
+                                    && (subroot.getChildAt(0) as FlowGroupElement).getChildAt(0).id == "4");
                     //redo
                     editMan.redo();
                     textFlow.flowComposer.updateAllControllers();
@@ -2290,7 +2285,7 @@
                     assertTrue(combinedNames + ": fail to undo",
                             subroot.getChildAt(0).id == "2"
                                     && subroot.getChildAt(2).id == "3"
-                                    && (subroot.getChildAt(0) as FlowGroupElement).getChildAt(0).id == "4")
+                                    && (subroot.getChildAt(0) as FlowGroupElement).getChildAt(0).id == "4");
                     //redo
                     editMan.redo();
                     textFlow.flowComposer.updateAllControllers();
@@ -2366,7 +2361,6 @@
         [Test]
         public function MoveChildrenOperationTest():void
         {
-            var tf:TextFlow = SelManager.textFlow;
             SelManager.selectAll();
             SelManager.deleteText();
 
@@ -2417,7 +2411,6 @@
         [Test]
         public function ApplyFormatOperationTest():void
         {
-            var tf:TextFlow = SelManager.textFlow;
             SelManager.selectAll();
             SelManager.deleteText();
 
diff --git a/automation_tests/src/UnitTest/Tests/ScrollingTest.as b/automation_tests/src/UnitTest/Tests/ScrollingTest.as
index 8fdae0d..6ca0e41 100644
--- a/automation_tests/src/UnitTest/Tests/ScrollingTest.as
+++ b/automation_tests/src/UnitTest/Tests/ScrollingTest.as
@@ -27,8 +27,10 @@
 package UnitTest.Tests
 {
 
+    import UnitTest.ExtendedClasses.TestConfigurationLoader;
     import UnitTest.ExtendedClasses.TestSuiteExtended;
     import UnitTest.ExtendedClasses.VellumTestCase;
+    import UnitTest.Fixtures.TestCaseVo;
     import UnitTest.Fixtures.TestConfig;
 
     import flash.display.Shape;
@@ -54,8 +56,51 @@
     /** Test the state of selection after each operation is done, undone, and redone.
      */
     [TestCase(order=14)]
+    [RunWith("org.flexunit.runners.Parameterized")]
     public class ScrollingTest extends VellumTestCase
     {
+        [DataPoints(loader=scrollWithInsideListLoader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var scrollWithInsideListDp:Array;
+
+        public static var scrollWithInsideListLoader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "scrollWithInsideList");
+
+        [DataPoints(loader=twoColumnsTestLoader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var twoColumnsTestDp:Array;
+
+        public static var twoColumnsTestLoader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "twoColumnsTest");
+
+        [DataPoints(loader=bug2988852Loader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var bug2988852Dp:Array;
+
+        public static var bug2988852Loader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "bug2988852");
+
+        [DataPoints(loader=bug2819924Case3TestLoader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var bug2819924Case3TestDp:Array;
+
+        public static var bug2819924Case3TestLoader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "bug2819924Case3Test");
+
+        [DataPoints(loader=bug2819924Case2TestLoader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var bug2819924Case2TestDp:Array;
+
+        public static var bug2819924Case2TestLoader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "bug2819924Case2Test");
+
+        [DataPoints(loader=bug2819924Case1TestLoader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var bug2819924Case1TestDp:Array;
+
+        public static var bug2819924Case1TestLoader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "bug2819924Case1Test");
+
+        [DataPoints(loader=largeLastLineLoader)]
+        [ArrayElementType("UnitTest.Fixtures.TestCaseVo")]
+        public static var largeLastLineDp:Array;
+
+        public static var largeLastLineLoader:TestConfigurationLoader = new TestConfigurationLoader("../../test/testCases/ScrollingTest.xml", "largeLastLine");
+
         public function ScrollingTest()
         {
             //	super(methodName, testID, testConfig, testCaseXML);
@@ -84,6 +129,7 @@
         [Before]
         override public function setUpTest():void
         {
+            TestData.fileName = "aliceExcerpt.xml";
             super.setUpTest();
         }
 
@@ -440,9 +486,12 @@
             // check rendering - there should be decorations
         }
 
-        [Test]
-        public function scrollWithInsideList():void
+        [Test(dataProvider=scrollWithInsideListDp)]
+        public function scrollWithInsideList(testCaseVo:TestCaseVo):void
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             var textFlow:TextFlow = SelManager.textFlow;
             textFlow.flowComposer.updateAllControllers();
             // now page forward and then back
@@ -460,9 +509,12 @@
             return sprite;
         }
 
-        [Test]
-        public function largeLastLine():void		// 2739996
+        [Test(dataProvider=largeLastLineDp)]
+        public function largeLastLine(testCaseVo:TestCaseVo):void		// 2739996
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             var textFlow:TextFlow = SelManager.textFlow;
             SelManager.selectRange(textFlow.textLength - 1, textFlow.textLength - 1);
             SelManager.insertInlineGraphic(createFilledSprite(200, 200, 0xff0000), 200, 200, Float.NONE);
@@ -479,9 +531,12 @@
         /**
          *  mjzhang : Watson#2819924 Error #1009 in flashx.textLayout.container::ContainerController::updateGraphics()
          */
-        [Test]
-        public function Bug2819924_case1():void
+        [Test(dataProvider=bug2819924Case1TestDp)]
+        public function bug2819924Case1Test(testCaseVo:TestCaseVo):void
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             var textFlow:TextFlow = SelManager.textFlow;
             var controller:ContainerController = textFlow.flowComposer.getControllerAt(0);
 
@@ -508,18 +563,24 @@
         /**
          * mjzhang : Watson#2819924 Error #1009 in flashx.textLayout.container::ContainerController::updateGraphics()
          */
-        [Test]
-        public function Bug2819924_case2():void
+        [Test(dataProvider=bug2819924Case2TestDp)]
+        public function bug2819924Case2Test(testCaseVo:TestCaseVo):void
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             SelManager.insertInlineGraphic(singleCT, 600, 400, Float.NONE);
         }
 
         /**
          * mjzhang : Watson#2819924 Error #1009 in flashx.textLayout.container::ContainerController::updateGraphics()  
          */
-        [Test]
-        public function Bug2819924_case3():void
+        [Test(dataProvider=bug2819924Case3TestDp)]
+        public function bug2819924Case3Test(testCaseVo:TestCaseVo):void
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             var textFlow:TextFlow = SelManager.textFlow;
             var controller:ContainerController = textFlow.flowComposer.getControllerAt(0);
 
@@ -527,7 +588,7 @@
             var i:int = 30;
             while (i > 0)
             {
-                str += i + "\n"
+                str += i + "\n";
                 i--;
             }
 
@@ -555,9 +616,12 @@
             textFlow.flowComposer.updateAllControllers();
         }
 
-        [Test]
-        public function bug2988852():void
+        [Test(dataProvider=bug2988852Dp)]
+        public function bug2988852(testCaseVo:TestCaseVo):void
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             var tf:TextFlow = SelManager.textFlow;
             for (var i:int = 0; i < 15; i++)
             {
@@ -589,10 +653,12 @@
             }
         }
 
-        [Test]
-        [Ignore]
-        public function twoColumnsTest():void
+        [Test(dataProvider=twoColumnsTestDp)]
+        public function twoColumnsTest(testCaseVo:TestCaseVo):void
         {
+            TestData.fileName = testCaseVo.fileName;
+            super.setUpTest();
+
             var tf:TextFlow = SelManager.textFlow;
             for (var i:int = 0; i < 60; i++)
             {
diff --git a/test/testCases/ScrollingTest.xml b/test/testCases/ScrollingTest.xml
index 14c5a25..7c6ada5 100644
--- a/test/testCases/ScrollingTest.xml
+++ b/test/testCases/ScrollingTest.xml
@@ -32,7 +32,7 @@
 <TestCase functionName="previousPageTest"/>
 <TestCase functionName="scrollUpDownLimitTest"/>
 <TestCase functionName="scrollToSelectionAfterParagraphInsertion">
-	<TestData name="testFile">simple.xml</TestData>
+	<TestData name="fileName">simple.xml</TestData>
 	<TestData name="tb_rtl">false</TestData>
 </TestCase>
 	<!-- Disabled, doesn't work on Astro/Squirt -->
@@ -40,42 +40,42 @@
 	<TestData name="bitmapSnapshot">true</TestData>
 </TestCase> 
 <TestCase functionName="scrollWithInsideList">
-    <TestData name="testFile">insideListScroll.xml</TestData>
+    <TestData name="fileName">insideListScroll.xml</TestData>
 	<TestData name="bitmapSnapshot">true</TestData>
 	<TestData name="tb_rtl">false</TestData>
 	<TestData name="rl_ltr">false</TestData>
 </TestCase> 
 <TestCase functionName="largeLastLine">
-    <TestData name="testFile">simple.xml</TestData>
+    <TestData name="fileName">simple.xml</TestData>
 	<TestData name="bitmapSnapshot">false</TestData>
 	<TestData name="tb_rtl">false</TestData>
 	<TestData name="rl_ltr">true</TestData>
 </TestCase> 
-<TestCase functionName="Bug2819924_case1">
-    <TestData name="testFile">simple.xml</TestData>
+<TestCase functionName="bug2819924Case1Test">
+    <TestData name="fileName">simple.xml</TestData>
 	<TestData name="bitmapSnapshot">false</TestData>
 	<TestData name="tb_rtl">false</TestData>
 	<TestData name="rl_ltr">false</TestData>
 </TestCase> 
-<TestCase functionName="Bug2819924_case2">
-    <TestData name="testFile">simple.xml</TestData>
+<TestCase functionName="bug2819924Case2Test">
+    <TestData name="fileName">simple.xml</TestData>
 	<TestData name="bitmapSnapshot">false</TestData>
 	<TestData name="tb_rtl">false</TestData>
 	<TestData name="rl_ltr">false</TestData>
 </TestCase> 
-<TestCase functionName="Bug2819924_case3">
-    <TestData name="testFile">simple.xml</TestData>
+<TestCase functionName="bug2819924Case3Test">
+    <TestData name="fileName">simple.xml</TestData>
 	<TestData name="bitmapSnapshot">false</TestData>
 	<TestData name="tb_rtl">false</TestData>
 	<TestData name="rl_ltr">false</TestData>
 </TestCase> 
 <TestCase functionName="bug2988852">
-    <TestData name="testFile">simple.xml</TestData>
+    <TestData name="fileName">simple.xml</TestData>
 	<TestData name="tb_rtl">true</TestData>
 	<TestData name="rl_ltr">true</TestData>
 </TestCase> 
 <TestCase functionName="twoColumnsTest">
-	<TestData name="testFile">simple.xml</TestData>
+	<TestData name="fileName">simple.xml</TestData>
 	<TestData name="tb_rtl">true</TestData>
 	<TestData name="rl_ltr">true</TestData>
 </TestCase>