You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2017/08/30 20:37:13 UTC

[01/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Fix EffectsTimer test

Repository: flex-asjs
Updated Branches:
  refs/heads/feature/dragAndDrop 06213a0c1 -> 1b1697a0f


Fix EffectsTimer test


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/7cd30933
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/7cd30933
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/7cd30933

Branch: refs/heads/feature/dragAndDrop
Commit: 7cd3093332caf3d03c5c9eca7a424c9d4f16f953
Parents: bde25eb
Author: greg-dove <gr...@gmail.com>
Authored: Mon Aug 21 17:01:44 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Mon Aug 21 17:01:44 2017 +1200

----------------------------------------------------------------------
 manualtests/EffectsExample/src/MyInitialView.mxml | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7cd30933/manualtests/EffectsExample/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/EffectsExample/src/MyInitialView.mxml b/manualtests/EffectsExample/src/MyInitialView.mxml
index 74cfafb..19fefe8 100644
--- a/manualtests/EffectsExample/src/MyInitialView.mxml
+++ b/manualtests/EffectsExample/src/MyInitialView.mxml
@@ -28,6 +28,10 @@ limitations under the License.
 			font-size: 14pt;
 			font-weight: bold;
 		}
+		
+		global {
+			IEffectTimer: 			ClassReference("org.apache.flex.utils.EffectTimer");
+		}
 
 	</fx:Style>
 	
@@ -78,10 +82,10 @@ limitations under the License.
 			<js:TextButton text="fade in" click="fadein()" />
 		</js:Container>
 		
-		<js:Container width="500">
-			<js:Image id="image1" source="twong.jpg" x="100" y="20" />
+		<js:Container width="500" height="500">
+			<js:Image id="image1" src="twong.jpg" x="100" y="20" />
 			<js:Label id="caption1" text="Dick" x="100" y="200" />
-			<js:Image id="image2" source="jproctor.jpg" x="400" y="20" />
+			<js:Image id="image2" src="jproctor.jpg" x="400" y="20" />
 			<js:Label id="caption2" text="Jane" x="400" y="200" />
 		</js:Container>		
 	</js:Container>


[10/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Quick fix for FormExample (avoid 0 width, 0 height clipping)

Posted by pe...@apache.org.
Quick fix for FormExample (avoid 0 width, 0 height clipping)


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

Branch: refs/heads/feature/dragAndDrop
Commit: af7f5cd1cd55ff90f1c62c4e309c0b52e9756bbd
Parents: 1fe4d2c
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 11:30:43 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 11:30:43 2017 +1200

----------------------------------------------------------------------
 manualtests/FormExample/src/MyFormView.mxml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/af7f5cd1/manualtests/FormExample/src/MyFormView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/FormExample/src/MyFormView.mxml b/manualtests/FormExample/src/MyFormView.mxml
index 190fbe5..6e85f22 100644
--- a/manualtests/FormExample/src/MyFormView.mxml
+++ b/manualtests/FormExample/src/MyFormView.mxml
@@ -47,7 +47,7 @@ limitations under the License.
 		
 		<js:Label text="Loan Form" className="title" />
 		
-		<js:Container width="500">
+		<js:Container width="500" height="600" >
 			<js:beads>
 				<js:VerticalColumnLayout numColumns="2" />
 			</js:beads>


[06/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - quick fix to get compiling and something displaying

Posted by pe...@apache.org.
quick fix to get compiling and something displaying


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

Branch: refs/heads/feature/dragAndDrop
Commit: a1f60d1603d87419a04bd388dca4d2a542b41462
Parents: 629949e
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 08:19:18 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 08:19:18 2017 +1200

----------------------------------------------------------------------
 manualtests/FlexJSTest_SVG/src/SkinsView.mxml | 57 ++++++++++++----------
 1 file changed, 30 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a1f60d16/manualtests/FlexJSTest_SVG/src/SkinsView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_SVG/src/SkinsView.mxml b/manualtests/FlexJSTest_SVG/src/SkinsView.mxml
index e1a95d3..e0a6f65 100644
--- a/manualtests/FlexJSTest_SVG/src/SkinsView.mxml
+++ b/manualtests/FlexJSTest_SVG/src/SkinsView.mxml
@@ -18,7 +18,10 @@ limitations under the License.
 
 -->
 <js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
-				xmlns:js="library://ns.apache.org/flexjs/basic" xmlns:skins="skins.*" xmlns:mx="library://ns.adobe.com/flex/mx"
+				xmlns:js="library://ns.apache.org/flexjs/basic" 
+				xmlns:svg="org.apache.flex.svg.*"
+				xmlns:graphics="org.apache.flex.graphics.*" 
+				xmlns:skins="skins.*" xmlns:mx="library://ns.adobe.com/flex/mx"
 				initComplete="viewbase1_initCompleteHandler(event)">
 	<fx:Script>
 		<![CDATA[
@@ -71,35 +74,35 @@ limitations under the License.
 	<!--<js:beads>
 		<js:ViewDataBinding />
 	</js:beads>-->
-	<js:Container x="0" y="0" >
-		<js:Label text="MyButton" x="20" y="10" includeIn="{[up,down,over,disabled]}" selectable="true"/>
+	<js:Container x="0" y="0" width="500" height="500">
+		<js:Label text="MyButton" x="20" y="10" includeIn="{[up,down,over,disabled]}" />
 		
-		<js:Rect id="fill_up" width="100" height="30" includeIn="up" >
-			<js:stroke>
-				<js:SolidColorStroke alpha="1.0" color="#000000" />
-			</js:stroke>
-			<js:fill>
-				<js:SolidColor color="#1ABC9C" alpha="1.0" />
-			</js:fill>
-		</js:Rect>
+		<svg:Rect id="fill_up" width="100" height="30" includeIn="up" >
+			<svg:stroke>
+				<graphics:SolidColorStroke alpha="1.0" color="#000000" />
+			</svg:stroke>
+			<svg:fill>
+				<graphics:SolidColor color="#1ABC9C" alpha="1.0" />
+			</svg:fill>
+		</svg:Rect>
 		
-		<js:Rect id="fill_over" width="100" height="30" includeIn="over">
-			<js:stroke>
-				<js:SolidColorStroke alpha="1.0" color="#000000" lineDash="{dashArray}" weight="5" lineJoin="round"/>
-			</js:stroke>
-			<js:fill>
-				<js:SolidColor color="#48C9B0" alpha="1.0" />
-			</js:fill>
-		</js:Rect>
+		<svg:Rect id="fill_over" width="100" height="30" includeIn="over">
+			<svg:stroke>
+				<graphics:SolidColorStroke alpha="1.0" color="#000000" lineDash="{dashArray}" weight="5" lineJoin="round"/>
+			</svg:stroke>
+			<svg:fill>
+				<graphics:SolidColor color="#48C9B0" alpha="1.0" />
+			</svg:fill>
+		</svg:Rect>
 		
-		<js:Rect id="fill_down" width="100" height="30" includeIn="down">
-			<js:stroke>
-				<js:SolidColorStroke alpha="1.0" color="#000000" />
-			</js:stroke>
-			<js:fill>
-				<js:SolidColor color="#16A085" alpha="1.0" />
-			</js:fill>
-		</js:Rect>
+		<svg:Rect id="fill_down" width="100" height="30" includeIn="down">
+			<svg:stroke>
+				<graphics:SolidColorStroke alpha="1.0" color="#000000" />
+			</svg:stroke>
+			<svg:fill>
+				<graphics:SolidColor color="#16A085" alpha="1.0" />
+			</svg:fill>
+		</svg:Rect>
 		<js:TextButton x="50" y="100" text="Just a button"/>
 	</js:Container>
 	


[20/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Partially fixed FormatExample

Posted by pe...@apache.org.
Partially fixed FormatExample


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

Branch: refs/heads/feature/dragAndDrop
Commit: e17b287c15d2bde12bf9cfe86050aa1fb8e5f499
Parents: f0ddbd3
Author: Harbs <ha...@in-tools.com>
Authored: Tue Aug 22 11:12:29 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Tue Aug 22 11:12:29 2017 +0300

----------------------------------------------------------------------
 manualtests/FormatExample/src/MyFormView.mxml                      | 2 +-
 .../apache/flex/html/staticControls/accessories/NumberFormatter.as | 2 +-
 .../flex/html/staticControls/accessories/PhoneNumberFormatter.as   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e17b287c/manualtests/FormatExample/src/MyFormView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/FormatExample/src/MyFormView.mxml b/manualtests/FormatExample/src/MyFormView.mxml
index d513fcb..f31ca97 100644
--- a/manualtests/FormatExample/src/MyFormView.mxml
+++ b/manualtests/FormatExample/src/MyFormView.mxml
@@ -21,7 +21,7 @@ limitations under the License.
 				xmlns:js="library://ns.apache.org/flexjs/basic"
 				xmlns:local="*" 
 				xmlns:models="models.*" 
-				xmlns:acc="org.apache.flex.html.accessories.*">
+				xmlns:acc="org.apache.flex.html.staticControls.accessories.*">
 	
 	<fx:Style>
 		.title {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e17b287c/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/NumberFormatter.as
----------------------------------------------------------------------
diff --git a/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/NumberFormatter.as b/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/NumberFormatter.as
index 0d1b613..58ffad1 100644
--- a/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/NumberFormatter.as
+++ b/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/NumberFormatter.as
@@ -16,7 +16,7 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
+package org.apache.flex.html.staticControls.accessories
 {
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IFormatBead;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e17b287c/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/PhoneNumberFormatter.as
----------------------------------------------------------------------
diff --git a/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/PhoneNumberFormatter.as b/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/PhoneNumberFormatter.as
index 7523c96..4231bce 100644
--- a/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/PhoneNumberFormatter.as
+++ b/manualtests/FormatExample/src/org/apache/flex/html/staticControls/accessories/PhoneNumberFormatter.as
@@ -16,7 +16,7 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
+package org.apache.flex.html.staticControls.accessories
 {
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadModel;


[18/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Fixed TLFEditTestFlexJS manual test

Posted by pe...@apache.org.
Fixed TLFEditTestFlexJS manual test


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

Branch: refs/heads/feature/dragAndDrop
Commit: ebc568a7eb4494e4e9e689f184b7f6082a047ac2
Parents: 932f7cb
Author: Harbs <ha...@in-tools.com>
Authored: Tue Aug 22 10:36:39 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Tue Aug 22 10:36:39 2017 +0300

----------------------------------------------------------------------
 manualtests/TLFEditTestFlexJS/build.xml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ebc568a7/manualtests/TLFEditTestFlexJS/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/TLFEditTestFlexJS/build.xml b/manualtests/TLFEditTestFlexJS/build.xml
index 24985be..f1abc29 100644
--- a/manualtests/TLFEditTestFlexJS/build.xml
+++ b/manualtests/TLFEditTestFlexJS/build.xml
@@ -29,6 +29,7 @@
     <property environment="env"/>
 	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+    <property name="optional_arg" value="-remove-circulars" />
 	
     
     <include file="${basedir}/../build_example.xml" />


[05/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Update doc for MDL Dialog

Posted by pe...@apache.org.
Update doc for MDL Dialog


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/10163b76
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/10163b76
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/10163b76

Branch: refs/heads/feature/dragAndDrop
Commit: 10163b7662f63e58c804c261a48c367222049bc9
Parents: 2ce4db3
Author: piotrz <pi...@apache.org>
Authored: Mon Aug 21 21:59:44 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Mon Aug 21 21:59:44 2017 +0200

----------------------------------------------------------------------
 .../src/main/flex/org/apache/flex/mdl/Dialog.as             | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/10163b76/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
index 0b2c60a..1f08069 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Dialog.as
@@ -122,7 +122,7 @@ package org.apache.flex.mdl
 		}
 
 		/**
-		 *  show modal dialog
+		 *  Displays the dialog element and makes it the top-most modal dialog.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -140,9 +140,10 @@ package org.apache.flex.mdl
 		}
 
 		/**
-		 *  show dialog.
+		 *  Displays the dialog element.
+		 *
 		 *  Note: It seems MDL does not support non modal dialogs, since there's no examples
-		 *  and dialogs are always added to "document.body" We could study change this.
+		 *  and dialogs are always added to "document.body".
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -160,7 +161,7 @@ package org.apache.flex.mdl
 		}
 
 		/**
-		 * close dialog
+		 *  Closes the dialog element.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2


[23/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - FLEX-35354 - Add DynamicItemsRendererFactoryForArrayListData to allow add items dynamically to MDL Table - Bead can be used in other components - Update TabsItemRendererFactoryForArrayLis

Posted by pe...@apache.org.
FLEX-35354 - Add DynamicItemsRendererFactoryForArrayListData to allow add items dynamically to MDL Table - Bead can be used in other components
- Update TabsItemRendererFactoryForArrayListData with new DynamicItemsRendererFactoryForArrayListData


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/56e467a1
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/56e467a1
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/56e467a1

Branch: refs/heads/feature/dragAndDrop
Commit: 56e467a1db22e644c4917b9b012291b94e1f3054
Parents: 29bef6b
Author: piotrz <pi...@apache.org>
Authored: Wed Aug 23 23:43:48 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Wed Aug 23 23:43:48 2017 +0200

----------------------------------------------------------------------
 .../Basic/src/main/flex/BasicClasses.as         |   1 +
 ...namicItemsRendererFactoryForArrayListData.as | 200 +++++++++++++++++++
 .../Basic/src/main/resources/basic-manifest.xml |   1 +
 3 files changed, 202 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/56e467a1/frameworks/projects/Basic/src/main/flex/BasicClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/BasicClasses.as b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
index 539beaa..697efa8 100644
--- a/frameworks/projects/Basic/src/main/flex/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
@@ -158,6 +158,7 @@ internal class BasicClasses
 	import org.apache.flex.html.beads.layouts.TileLayout; TileLayout;
     import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
 	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData;
+    import org.apache.flex.html.beads.DynamicItemsRendererFactoryForArrayListData; DynamicItemsRendererFactoryForArrayListData;
 	import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList;
 	import org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData; DataItemRendererFactoryForHierarchicalData;
 	import org.apache.flex.html.supportClasses.DataGroup; DataGroup;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/56e467a1/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DynamicItemsRendererFactoryForArrayListData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DynamicItemsRendererFactoryForArrayListData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DynamicItemsRendererFactoryForArrayListData.as
new file mode 100644
index 0000000..6ccd952
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DynamicItemsRendererFactoryForArrayListData.as
@@ -0,0 +1,200 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.html.beads
+{
+    import org.apache.flex.collections.IArrayList;
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IDataProviderItemRendererMapper;
+    import org.apache.flex.core.IItemRendererClassFactory;
+    import org.apache.flex.core.IItemRendererParent;
+    import org.apache.flex.core.IListPresentationModel;
+    import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.SimpleCSSStyles;
+    import org.apache.flex.core.UIBase;
+    import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.CollectionEvent;
+
+    import org.apache.flex.events.EventDispatcher;
+    import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.html.beads.IListView;
+    import org.apache.flex.events.Event;
+    import org.apache.flex.core.ISelectableItemRenderer;
+    import org.apache.flex.core.ISelectionModel;
+
+    [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
+
+    /**
+     *  The DynamicItemsRendererFactoryForArrayListData class reads an
+     *  array of data and creates an item renderer for every
+     *  ISelectableItemRenderer in the array.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.9
+     */
+    public class DynamicItemsRendererFactoryForArrayListData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
+    {
+        public function DynamicItemsRendererFactoryForArrayListData(target:Object = null)
+        {
+            super(target);
+        }
+
+        protected var dataProviderModel:ISelectionModel;
+
+        protected var labelField:String;
+
+        protected var _strand:IStrand;
+
+        /**
+         *  @copy org.apache.flex.core.IBead#strand
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.8
+         */
+        public function set strand(value:IStrand):void
+        {
+            _strand = value;
+            IEventDispatcher(value).addEventListener("initComplete", initComplete);
+        }
+
+        /**
+         *  finish setup
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.8
+         */
+        protected function initComplete(event:Event):void
+        {
+            IEventDispatcher(_strand).removeEventListener("initComplete", initComplete);
+
+            dataProviderModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+            var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+            dataGroup = listView.dataGroup;
+            dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+            dataProviderModel.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler);
+
+            labelField = dataProviderModel.labelField;
+
+            dataProviderChangeHandler(null);
+        }
+
+        private var _itemRendererFactory:IItemRendererClassFactory;
+
+        /**
+         *  The org.apache.flex.core.IItemRendererClassFactory used
+         *  to generate instances of item renderers.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.8
+         */
+        public function get itemRendererFactory():IItemRendererClassFactory
+        {
+			if (_itemRendererFactory == null) {
+				var factory:IItemRendererClassFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+				if (factory == null) {
+					factory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+					_strand.addBead(factory);
+				}
+				_itemRendererFactory = factory;
+			}
+            return _itemRendererFactory;
+        }
+
+        /**
+         *  @private
+         */
+        public function set itemRendererFactory(value:IItemRendererClassFactory):void
+        {
+            _itemRendererFactory = value;
+        }
+
+        /**
+         *  The org.apache.flex.core.IItemRendererParent that will
+         *  parent the item renderers.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.8
+         */
+        protected var dataGroup:IItemRendererParent;
+
+        protected function dataProviderChangeHandler(event:Event):void
+        {
+            var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
+            if (!dp)
+                return;
+
+            dataGroup.removeAllItemRenderers();
+
+            var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
+
+            var n:int = dp.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+                var item:Object = dp.getItemAt(i);
+                fillRenderer(i, item, ir, presentationModel);
+            }
+
+            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+        }
+
+        protected function itemAddedHandler(event:CollectionEvent):void
+        {
+            var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
+            if (!dp)
+                return;
+
+            var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
+            var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+
+            fillRenderer(dp.length - 1, event.item, ir, presentationModel);
+
+            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+        }
+
+        protected function fillRenderer(index:int,
+                                      item:Object,
+                                      itemRenderer:ISelectableItemRenderer,
+                                      presentationModel:IListPresentationModel):void
+        {
+            dataGroup.addItemRenderer(itemRenderer);
+
+            itemRenderer.index = index;
+            itemRenderer.labelField = labelField;
+
+            if (presentationModel) {
+                var style:SimpleCSSStyles = new SimpleCSSStyles();
+                style.marginBottom = presentationModel.separatorThickness;
+                UIBase(itemRenderer).style = style;
+                UIBase(itemRenderer).height = presentationModel.rowHeight;
+                UIBase(itemRenderer).percentWidth = 100;
+            }
+            itemRenderer.data = item;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/56e467a1/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index a07fc40..0ed5f4c 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -141,6 +141,7 @@
 
     <component id="DataItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayData" />
     <component id="DataItemRendererFactoryForArrayList" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayList" />
+    <component id="DynamicItemsRendererFactoryForArrayListData" class="org.apache.flex.html.beads.DynamicItemsRendererFactoryForArrayListData" />
     <component id="DataItemRendererFactoryForHierarchicalData" class="org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData" />
     <component id="TextItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.TextItemRendererFactoryForArrayData" />
     <component id="TextItemRendererFactoryForStringVectorData" class="org.apache.flex.html.beads.TextItemRendererFactoryForStringVectorData" />


[16/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Added maven build for UnitTests

Posted by pe...@apache.org.
Added maven build for UnitTests


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

Branch: refs/heads/feature/dragAndDrop
Commit: f51fcadc60c681f2abb94a3b3d17cedd25b04a81
Parents: 523eac2
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 11:34:37 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 11:34:37 2017 +1200

----------------------------------------------------------------------
 manualtests/UnitTests/pom.xml | 172 +++++++++++++++++++++++++++++++++++++
 manualtests/pom.xml           | 170 ++++++++++++++++++++++++++++++++++++
 2 files changed, 342 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f51fcadc/manualtests/UnitTests/pom.xml
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/pom.xml b/manualtests/UnitTests/pom.xml
new file mode 100644
index 0000000..315291b
--- /dev/null
+++ b/manualtests/UnitTests/pom.xml
@@ -0,0 +1,172 @@
+<?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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.flex.flexjs.manualtests</groupId>
+		<artifactId>manualtests</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>UnitTests</artifactId>
+	<version>0.9.0-SNAPSHOT</version>
+	<packaging>swf</packaging>
+	<name>Apache Flex - FlexJS: ManualTests: UnitTests</name>
+	
+	<properties> 
+		<title>${project.artifactId}</title>
+		<bgcolor>#ffffff</bgcolor> 
+		<useBrowserHistory>--</useBrowserHistory>
+		<version_major>11</version_major>
+		<version_minor>1</version_minor>
+		<version_revision>0</version_revision>
+		<expressInstallSwf>expressInstall.swf</expressInstallSwf>
+		<application>${project.artifactId}</application>
+		<swf>${project.artifactId}</swf>
+		<width>100%</width>
+		<height>100%</height>
+	</properties>
+
+	<build>
+		<defaultGoal>compile</defaultGoal>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.flex.flexjs.compiler</groupId>
+				<artifactId>flexjs-maven-plugin</artifactId>
+				<extensions>true</extensions>
+				<configuration>
+					<targets>SWF</targets>
+					<mainClass>${project.artifactId}.mxml</mainClass>
+					<debug>true</debug>
+					<additionalCompilerOptions>-keep-as3-metadata+=Test,BeforeClass,AfterClass,Before,After,TestVariance,Event,Bindable,TestMeta -keep-code-with-metadata=Test,BeforeClass,AfterClass,Before,After,TestVariance,TestMeta</additionalCompilerOptions>
+					<outputDirectory>${basedir}/target/bin-debug</outputDirectory>
+					<flashOutputFileName>${project.artifactId}.swf</flashOutputFileName>
+				</configuration>
+				<executions>
+					<execution>
+						<id>compile-js</id>
+						<phase>process-sources</phase>
+						<goals>
+							<goal>compile-app</goal>
+						</goals>
+						<configuration>
+							<targets>JSFlex</targets>
+							<mainClass>${project.artifactId}.mxml</mainClass>
+							<debug>false</debug>
+							<additionalCompilerOptions>-keep-as3-metadata+=Test,BeforeClass,AfterClass,Before,After,TestVariance,Event,Bindable,TestMeta -keep-code-with-metadata=Test,BeforeClass,AfterClass,Before,After,TestVariance,TestMeta</additionalCompilerOptions>
+							<outputDirectory>${basedir}/target</outputDirectory>
+						</configuration>
+					</execution>
+				</executions>	
+			</plugin>
+			<plugin>
+				<artifactId>maven-resources-plugin</artifactId>
+				<version>3.0.2</version>
+				<executions>
+					<execution>
+						<id>copy-template-swf</id>
+						<phase>compile</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${basedir}/target/bin-debug</outputDirectory>
+							<includeEmptyDirs>true</includeEmptyDirs>
+							<resources>
+								<resource>
+									<directory>${FLEXJS_HOME}/templates/swfobject</directory>
+									<filtering>true</filtering>									
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>com.coderplus.maven.plugins</groupId>
+				<artifactId>copy-rename-maven-plugin</artifactId>
+				<version>1.0.1</version>
+				<executions>
+					<execution>
+						<id>rename-file</id>
+						<phase>compile</phase>
+						<goals>
+							<goal>rename</goal>
+						</goals>
+						<configuration>
+							<sourceFile>${basedir}/target/bin-debug/index.template.html</sourceFile>
+							<destinationFile>${basedir}/target/bin-debug/${project.artifactId}.html</destinationFile>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+
+
+			<!--<plugin>
+         <groupId>com.google.code.maven-replacer-plugin</groupId>
+         <artifactId>replacer</artifactId>
+         <version>1.5.2</version>
+         <executions>
+           <execution>
+             <id>configure-swf-template</id>
+             <phase>compile</phase>
+             <goals>
+               <goal>replace</goal>
+             </goals>
+             <configuration>
+               <file>${basedir}/bin-debug/index.template.html</file>
+			   <regex>false</regex>
+               <replacements>
+               
+               </replacements>
+             </configuration>
+           </execution>
+		    </executions>
+			</plugin>-->
+		</plugins>
+	</build>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.adobe.flash.framework</groupId>
+			<artifactId>playerglobal</artifactId>
+			<version>${flash.version}</version>
+			<type>swc</type>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.flex.flexjs.framework</groupId>
+			<artifactId>Reflection</artifactId>
+			<version>0.9.0-SNAPSHOT</version>
+			<type>swc</type>
+			<classifier>swf</classifier>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.flex.flexjs.framework</groupId>
+			<artifactId>Reflection</artifactId>
+			<version>0.9.0-SNAPSHOT</version>
+			<type>swc</type>
+			<classifier>js</classifier>
+		</dependency>
+	</dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f51fcadc/manualtests/pom.xml
----------------------------------------------------------------------
diff --git a/manualtests/pom.xml b/manualtests/pom.xml
new file mode 100644
index 0000000..dcfdb5f
--- /dev/null
+++ b/manualtests/pom.xml
@@ -0,0 +1,170 @@
+<?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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.flex.flexjs.framework</groupId>
+    <artifactId>flexjs-framework-parent</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+	<relativePath />
+  </parent>
+  
+  <groupId>org.apache.flex.flexjs.manualtests</groupId>
+  <artifactId>manualtests</artifactId>
+  <version>0.9.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  
+  <properties>
+    <compiler.output-dir>${basedir}/target/javascript/bin/js-debug</compiler.output-dir>
+  </properties>
+  <name>Apache Flex - FlexJS: ManualTests</name>
+
+  <modules>
+    <module>UnitTests</module> 
+  </modules>
+
+  <build>
+  <defaultGoal>compile</defaultGoal>
+  <sourceDirectory>src/main/flex</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <pluginManagement>
+      <plugins>
+        <!-- Copy the resources to the compiler output directory -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.0.1</version>
+          <configuration>
+            <outputDirectory>${compiler.output-dir}</outputDirectory>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.flex.flexjs.compiler</groupId>
+          <artifactId>flexjs-maven-plugin</artifactId>
+          <version>${flexjs.compiler.version}</version>
+          <extensions>true</extensions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+	<plugins/>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Core</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Language</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Language</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>HTML</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>HTML</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Collections</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Collections</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Binding</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Binding</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>Graphics</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.flex.flexjs.framework</groupId>
+        <artifactId>Graphics</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
+  </dependencies>
+  <profiles>
+    <profile>
+      <id>release</id>
+      <properties>
+	  <compiler.debug>false</compiler.debug>
+        <compiler.output-dir>${basedir}/target/javascript/bin/js-release</compiler.output-dir>
+      </properties>
+    </profile>
+   </profiles>
+</project>


[31/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop

Posted by pe...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop

* 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs:
  Add MDLDynamicTableExample to ilustrate how add/remove items to MDL Table - Currently only adding is working. The rest job will be done as part of FLEX-35354


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/641f74c0
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/641f74c0
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/641f74c0

Branch: refs/heads/feature/dragAndDrop
Commit: 641f74c044e44e229d5965a8a8cde27dd14c9b7e
Parents: 884826e 885e321
Author: Harbs <ha...@in-tools.com>
Authored: Mon Aug 28 12:55:10 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Aug 28 12:55:10 2017 +0300

----------------------------------------------------------------------
 examples/flexjs/MDLDynamicTableExample/pom.xml  | 74 ++++++++++++++++++++
 .../src/MDLDynamicTableExample.mxml             | 36 ++++++++++
 .../MDLDynamicTableExample/src/MainView.mxml    | 65 +++++++++++++++++
 .../CustomTableRowItemRenderer.mxml             | 46 ++++++++++++
 .../src/models/UserListModel.as                 | 37 ++++++++++
 .../src/resources/mdl-js-index-template.html    | 33 +++++++++
 .../src/resources/mdl-styles.css                | 31 ++++++++
 .../MDLDynamicTableExample/src/vo/UserVO.as     | 40 +++++++++++
 examples/flexjs/pom.xml                         |  1 +
 9 files changed, 363 insertions(+)
----------------------------------------------------------------------



[27/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Returns parameter passed into setAttribute and setChild to enable chained assignment of values.

Posted by pe...@apache.org.
Returns parameter passed into setAttribute and setChild to enable chained assignment of values.


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

Branch: refs/heads/feature/dragAndDrop
Commit: f19d96742f05669f48d9587de6afa2d96e795cc0
Parents: f4276e0
Author: Harbs <ha...@in-tools.com>
Authored: Sun Aug 27 10:47:48 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Sun Aug 27 10:47:48 2017 +0300

----------------------------------------------------------------------
 frameworks/projects/XML/src/main/flex/XML.as | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f19d9674/frameworks/projects/XML/src/main/flex/XML.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/XML/src/main/flex/XML.as b/frameworks/projects/XML/src/main/flex/XML.as
index 054682e..cf3d9ea 100644
--- a/frameworks/projects/XML/src/main/flex/XML.as
+++ b/frameworks/projects/XML/src/main/flex/XML.as
@@ -1808,7 +1808,7 @@ package
 			return false;
 		}
 
-		public function setAttribute(attr:*,value:String):void
+		public function setAttribute(attr:*,value:String):String
 		{
 			var i:int;
 			if(!_attributes)
@@ -1823,7 +1823,7 @@ package
 						if(_attributes[i].name().equals(attr.name()))
 						{
 							_attributes[i].setValue(value);
-							return;
+							return value;
 						}
 						//addChild(_att)
 					}
@@ -1831,7 +1831,7 @@ package
 						attr.setValue(value);
 					addChild(attr);
 				}
-				return;
+				return value;
 
 			}
 			if(attr.indexOf("xmlns") == 0)
@@ -1857,13 +1857,13 @@ package
 					if(_attributes[i].name().equals(attrXML.name()))
 					{
 						_attributes[i].setValue(value);
-						return;
+						return value;
 					}
 					//addChild(_att)
 				}
 				addChild(attrXML);
 			}
-
+			return value;
 		}
 		/**
 		 * Replaces the child properties of the XML object with the specified name with the specified XML or XMLList.
@@ -1873,7 +1873,7 @@ package
 		 * @return 
 		 * 
 		 */
-		public function setChild(elementName:*, elements:Object):void
+		public function setChild(elementName:*, elements:Object):Object
 		{
 			
 			/*
@@ -1943,6 +1943,7 @@ package
 			var i:int;
 			var len:int;
 			var chld:XML;
+			var retVal:Object = elements;
 
 			// I'm not wure that this a strict interpretation of the spec but I think this does the "right thing".
 			var childType:String = typeof elements;
@@ -1996,6 +1997,7 @@ package
 			}
 			//what to do if it's not XML or XMLList? Throw an error? Ignore?
 			
+			return retVal;
 		}
 
 		/**


[32/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Merge branch 'develop' into feature/dragAndDrop

Posted by pe...@apache.org.
Merge branch 'develop' into feature/dragAndDrop

* develop: (24 commits)
  Allow chained assignment to non-existent children
  Add MDLDynamicTableExample to ilustrate how add/remove items to MDL Table - Currently only adding is working. The rest job will be done as part of FLEX-35354
  Forgot header
  Returns parameter passed into setAttribute and setChild to enable chained assignment of values.
  Added missing pieces for TextBlock management Fixed bug in GroupElement.replaceElements()
  Added helper function
  FLEX-35354 - Rename TabsItemRendererFactoryForArrayListData  to TabsDynamicItemsRendererFactoryForArrayListData - Update TabsDynamicItemsRendererFactoryForArrayListData with new implementation of DynamicItemsRendererFactoryForArrayListData - Update example MDLDynamicTabsExample
  FLEX-35354 - Add DynamicItemsRendererFactoryForArrayListData to allow add items dynamically to MDL Table - Bead can be used in other components - Update TabsItemRendererFactoryForArrayListData with new DynamicItemsRendererFactoryForArrayListData
  Switch MDLDynamicTabsExample to JSFlex only build in Maven
  “Stringables” should be assignable to XML
  Partially fixed FormatExample
  Fixed a few errors in DataGridXcompile
  Fixed TLFEditTestFlexJS manual test
  Added maven build for UnitTests
  -refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts. -renamed GenericTests to UnitTests and fixed some display issues due to layout changes etc
  Quick fix for FormExample (avoid 0 width, 0 height clipping)
  Quick fix for ListsTest
  Quick fix for ImageTest
  FLEX-35350 - THead and TBody need to be created a bit early cause MDL complaining with NPE when dataProvider is null
  quick fix to get compiling and something displaying
  ...


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

Branch: refs/heads/feature/dragAndDrop
Commit: 1b1697a0f65c0fccea58726bf9c6cb23121da849
Parents: 06213a0 641f74c
Author: Peter Ent <pe...@apache.org>
Authored: Wed Aug 30 16:27:51 2017 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Aug 30 16:27:51 2017 -0400

----------------------------------------------------------------------
 examples/flexjs/MDLDynamicTableExample/pom.xml  |  74 +++
 .../src/MDLDynamicTableExample.mxml             |  36 ++
 .../MDLDynamicTableExample/src/MainView.mxml    |  65 +++
 .../CustomTableRowItemRenderer.mxml             |  46 ++
 .../src/models/UserListModel.as                 |  37 ++
 .../src/resources/mdl-js-index-template.html    |  33 ++
 .../src/resources/mdl-styles.css                |  31 +
 .../MDLDynamicTableExample/src/vo/UserVO.as     |  40 ++
 examples/flexjs/MDLDynamicTabsExample/pom.xml   |  18 +-
 .../src/main/flex/views/InitialView.mxml        |  24 +-
 .../src/main/resources/mdl-styles.css           |   2 +-
 examples/flexjs/pom.xml                         |   1 +
 .../Basic/src/main/flex/BasicClasses.as         |   5 +
 .../org/apache/flex/html/ToggleTextButton.as    |  25 +-
 .../org/apache/flex/html/addElementToWrapper.as |  38 ++
 ...namicItemsRendererFactoryForArrayListData.as | 200 +++++++
 .../html/beads/layouts/VerticalFlexLayout.as    |   1 +
 .../html/supportClasses/PanelLayoutProxy.as     |  27 +
 .../Basic/src/main/resources/basic-manifest.xml |   1 +
 .../src/main/flex/MDLClasses.as                 |   2 +-
 .../src/main/flex/org/apache/flex/mdl/Dialog.as |   9 +-
 .../src/main/flex/org/apache/flex/mdl/Table.as  |  26 +-
 ...namicItemsRendererFactoryForArrayListData.as | 108 ++++
 .../TabsItemRendererFactoryForArrayListData.as  | 206 -------
 .../org/apache/flex/mdl/beads/views/TabsView.as |   6 +-
 .../src/main/resources/defaults.css             |   4 +-
 .../apache/flex/text/engine/ContentElement.as   |  25 +-
 .../org/apache/flex/text/engine/GroupElement.as |  21 +-
 .../org/apache/flex/text/engine/ITextBlock.as   |   3 +
 .../flex/org/apache/flex/text/html/TextBlock.as |   4 +
 frameworks/projects/XML/src/main/flex/XML.as    |  33 +-
 .../projects/XML/src/main/flex/XMLList.as       |  31 +-
 manualtests/BubbleTest/build.xml                |  44 +-
 manualtests/ContainerTest/build.xml             |  40 +-
 manualtests/CursorTest/build.xml                |  44 +-
 manualtests/DataBindingTestbed/build.xml        |  41 +-
 manualtests/DataGridXcompile/build.xml          |  39 +-
 .../html/customControls/beads/DataGridView.as   |   8 +
 .../html/staticControls/beads/BoxGridView.as    |  10 +-
 manualtests/DateChooserExample/build.xml        |  38 +-
 manualtests/EffectsExample/build.xml            |  43 +-
 .../EffectsExample/src/MyInitialView.mxml       |  10 +-
 manualtests/FlexJSTest_HTML5/build.xml          |  36 +-
 manualtests/FlexJSTest_Panel/build.xml          |  35 +-
 manualtests/FlexJSTest_SVG/build.xml            |  37 +-
 manualtests/FlexJSTest_SVG/src/SkinsView.mxml   |  57 +-
 manualtests/FlexJSTest_basic/build.xml          |  36 +-
 manualtests/FlexJSTest_createjs/build.xml       |  41 +-
 manualtests/FlexJSTest_jquery/build.xml         |  38 +-
 manualtests/FormExample/build.xml               |  45 +-
 manualtests/FormExample/src/MyFormView.mxml     |   2 +-
 manualtests/FormatExample/build.xml             |  43 +-
 manualtests/FormatExample/src/MyFormView.mxml   |   2 +-
 .../accessories/NumberFormatter.as              |   2 +-
 .../accessories/PhoneNumberFormatter.as         |   2 +-
 manualtests/GenericTests/build.xml              |  76 ---
 manualtests/GenericTests/src/GenericTests.mxml  |  39 --
 manualtests/GenericTests/src/MyInitialView.mxml | 193 -------
 manualtests/GenericTests/src/README.txt         |  61 --
 manualtests/GenericTests/src/TestClasses.as     |  37 --
 .../src/flexUnitTests/CoreTester.as             |  43 --
 .../src/flexUnitTests/JiraIssuesTester.as       |  29 -
 .../src/flexUnitTests/ObservedBugsTester.as     |  33 --
 .../src/flexUnitTests/ReflectionTester.as       |  38 --
 .../flexUnitTests/core/BinaryDataTesterTest.as  | 567 -------------------
 .../src/flexUnitTests/core/StrandTesterTest.as  |  55 --
 .../src/flexUnitTests/jira/JiraTesterTest.as    |  73 ---
 .../observedbugs/ObservedBugTests.as            | 101 ----
 .../reflection/ReflectionTesterTest.as          | 373 ------------
 .../reflection/ReflectionTesterTestAlias.as     |  90 ---
 .../reflection/ReflectionTesterTestUseCache.as  |  93 ---
 .../reflection/support/ITestInterface.as        |  27 -
 .../reflection/support/ITestInterface2.as       |  29 -
 .../reflection/support/ITestInterface3.as       |  27 -
 .../reflection/support/ITestInterface4.as       |  29 -
 .../reflection/support/TestClass1.as            |  91 ---
 .../reflection/support/TestClass2.as            | 103 ----
 .../reflection/support/TestClass3.as            |  39 --
 .../reflection/support/TestClass4.as            |  95 ----
 .../src/flexunit/framework/Assert.as            | 305 ----------
 .../flexunit/framework/AssertionFailedError.as  |  39 --
 .../src/testshim/FlexJSUnitTestRunner.as        | 186 ------
 .../GenericTests/src/testshim/TestResult.as     |  56 --
 .../GenericTests/testsview/image/Flex.png       | Bin 3526 -> 0 bytes
 manualtests/GenericTests/testsview/index.html   | 128 -----
 manualtests/ImageTest/build.xml                 |  37 +-
 manualtests/ImageTest/src/MyInitialView.mxml    |   8 +-
 manualtests/LanguageTests/build.xml             |  37 +-
 manualtests/ListsTest/build.xml                 |  35 +-
 .../src/products/ProductItemRenderer.as         |   2 +-
 manualtests/ProxyTest/build.xml                 |  38 +-
 manualtests/ReflectionTest/build.xml            |  38 +-
 manualtests/RollEventsTest/build.xml            |  37 +-
 manualtests/TLFEditTestFlexJS/build.xml         |  37 +-
 manualtests/UnitTests/README.txt                |  61 ++
 manualtests/UnitTests/build.xml                 |  58 ++
 manualtests/UnitTests/pom.xml                   | 172 ++++++
 manualtests/UnitTests/src/README.txt            |  61 ++
 .../src/main/config/compile-app-config.xml      |  25 +
 .../UnitTests/src/main/flex/MyInitialView.mxml  | 190 +++++++
 manualtests/UnitTests/src/main/flex/README.txt  |  61 ++
 .../UnitTests/src/main/flex/TestClasses.as      |  37 ++
 .../UnitTests/src/main/flex/UnitTests.mxml      |  39 ++
 .../src/main/flex/flexUnitTests/CoreTester.as   |  43 ++
 .../main/flex/flexUnitTests/JiraIssuesTester.as |  29 +
 .../flex/flexUnitTests/ObservedBugsTester.as    |  33 ++
 .../main/flex/flexUnitTests/ReflectionTester.as |  38 ++
 .../flexUnitTests/core/BinaryDataTesterTest.as  | 567 +++++++++++++++++++
 .../flex/flexUnitTests/core/StrandTesterTest.as |  55 ++
 .../flex/flexUnitTests/jira/JiraTesterTest.as   |  73 +++
 .../observedbugs/ObservedBugTests.as            |  91 +++
 .../reflection/ReflectionTesterTest.as          | 373 ++++++++++++
 .../reflection/ReflectionTesterTestAlias.as     |  90 +++
 .../reflection/ReflectionTesterTestUseCache.as  |  93 +++
 .../reflection/support/ITestInterface.as        |  27 +
 .../reflection/support/ITestInterface2.as       |  29 +
 .../reflection/support/ITestInterface3.as       |  27 +
 .../reflection/support/ITestInterface4.as       |  29 +
 .../reflection/support/TestClass1.as            |  91 +++
 .../reflection/support/TestClass2.as            | 103 ++++
 .../reflection/support/TestClass3.as            |  39 ++
 .../reflection/support/TestClass4.as            |  95 ++++
 .../reflection/support/TestClass5.as            |  82 +++
 .../src/main/flex/flexunit/framework/Assert.as  | 305 ++++++++++
 .../flexunit/framework/AssertionFailedError.as  |  39 ++
 .../main/flex/testshim/FlexJSUnitTestRunner.as  | 186 ++++++
 .../src/main/flex/testshim/TestResult.as        |  56 ++
 manualtests/UnitTests/testsview/image/Flex.png  | Bin 0 -> 3526 bytes
 manualtests/UnitTests/testsview/index.html      | 129 +++++
 manualtests/XMLTest/build.xml                   |  40 +-
 manualtests/XMLTest/src/MyInitialView.mxml      |   5 +
 manualtests/build.xml                           |  18 +-
 manualtests/build_example.xml                   | 540 ++++++++++++------
 manualtests/pom.xml                             | 170 ++++++
 134 files changed, 5048 insertions(+), 4350 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1b1697a0/frameworks/projects/Basic/src/main/flex/BasicClasses.as
----------------------------------------------------------------------


[22/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Switch MDLDynamicTabsExample to JSFlex only build in Maven

Posted by pe...@apache.org.
Switch MDLDynamicTabsExample to JSFlex only build in Maven


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/29bef6b1
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/29bef6b1
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/29bef6b1

Branch: refs/heads/feature/dragAndDrop
Commit: 29bef6b10fbb5d48ecc2c9cb27d35ecc72e1a464
Parents: 3bb0e7b
Author: piotrz <pi...@apache.org>
Authored: Wed Aug 23 23:09:38 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Wed Aug 23 23:09:38 2017 +0200

----------------------------------------------------------------------
 examples/flexjs/MDLDynamicTabsExample/pom.xml | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/29bef6b1/examples/flexjs/MDLDynamicTabsExample/pom.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTabsExample/pom.xml b/examples/flexjs/MDLDynamicTabsExample/pom.xml
index db429a1..f21bcf0 100644
--- a/examples/flexjs/MDLDynamicTabsExample/pom.xml
+++ b/examples/flexjs/MDLDynamicTabsExample/pom.xml
@@ -47,6 +47,7 @@
         <extensions>true</extensions>
         <configuration>
           <mainClass>TabsExample.mxml</mainClass>
+          <targets>JSFlex</targets>
           <removeCirculars>true</removeCirculars>
           <htmlTemplate>${basedir}/target/javascript/bin/js-debug/mdl-js-index-template.html</htmlTemplate>
           <additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-0.9.0-SNAPSHOT-js.swc:defaults.css</additionalCompilerOptions>
@@ -56,22 +57,6 @@
   </build>
 
   <dependencies>
-    <!-- Needed for Flash compilation -->
-    <dependency>
-      <groupId>com.adobe.flash.framework</groupId>
-      <artifactId>playerglobal</artifactId>
-      <version>20.0</version>
-      <type>swc</type>
-      <scope>provided</scope>
-    </dependency>
-	
-	<dependency>
-      <groupId>org.apache.flex.flexjs.framework</groupId>
-      <artifactId>MaterialDesignLite</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <type>swc</type>
-      <classifier>swf</classifier>
-    </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.framework</groupId>
       <artifactId>MaterialDesignLite</artifactId>
@@ -79,7 +64,6 @@
       <type>swc</type>
       <classifier>js</classifier>
     </dependency>
-
   </dependencies>
 
 </project>


[03/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Fixed FlexJSStore

Posted by pe...@apache.org.
Fixed FlexJSStore


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2ce4db35
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2ce4db35
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2ce4db35

Branch: refs/heads/feature/dragAndDrop
Commit: 2ce4db356053482fb618256ae50b3d6fd300571c
Parents: d104a2e
Author: Harbs <ha...@in-tools.com>
Authored: Mon Aug 21 14:02:38 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Aug 21 14:02:38 2017 +0300

----------------------------------------------------------------------
 .../html/beads/layouts/VerticalFlexLayout.as    |  1 +
 .../html/supportClasses/PanelLayoutProxy.as     | 27 ++++++++++++++++++++
 2 files changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2ce4db35/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
index d0b1c23..436423d 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
@@ -246,6 +246,7 @@ package org.apache.flex.html.beads.layouts
 		/**
 		 *
 		 *  @flexjsignorecoercion org.apache.flex.core.ILayoutHost
+		 *  @flexjsignorecoercion org.apache.flex.core.UIBase
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2ce4db35/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
index 4ebc174..8189029 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
@@ -66,6 +66,7 @@ package org.apache.flex.html.supportClasses
 		}
 
 		/**
+		 *  @flexjsignorecoercion org.apache.flex.html.Panel
 		 *  The width of the bounding box.
 		 *
 		 *  @langversion 3.0
@@ -78,6 +79,7 @@ package org.apache.flex.html.supportClasses
 		}
 
 		/**
+		 *  @flexjsignorecoercion org.apache.flex.html.Panel
 		 * The height of the bounding box.
 		 *
 		 *  @langversion 3.0
@@ -90,6 +92,7 @@ package org.apache.flex.html.supportClasses
 		}
 
 		/**
+		 *  @flexjsignorecoercion org.apache.flex.html.Panel
 		 *  The number of elements in the parent.
 		 *
 		 *  @langversion 3.0
@@ -103,6 +106,7 @@ package org.apache.flex.html.supportClasses
 		}
 
 		/**
+		 *  @flexjsignorecoercion org.apache.flex.html.Panel
 		 *  Get a component from the parent.
 		 *
 		 *  @param c The index of the subcomponent.
@@ -117,16 +121,39 @@ package org.apache.flex.html.supportClasses
 			return (host as Panel).$getElementAt(index);
 		}
 
+		/**
+		 * @flexjsignorecoercion org.apache.flex.html.Panel
+		 */
 		COMPILE::JS
 		public function get somethingelse():WrappedHTMLElement
 		{
 			return (host as Panel).element;
 		}
 
+		/**
+		 * @flexjsignorecoercion org.apache.flex.html.Panel
+		 */
 		COMPILE::JS
 		public function get element():WrappedHTMLElement
 		{
 			return (host as Panel).element;
 		}
+
+		/**
+		 *  @flexjsignorecoercion org.apache.flex.html.Panel
+		 *  The display style is used for both visible
+		 *  and layout so is managed as a special case.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		COMPILE::JS
+		public function setDisplayStyleForLayout(value:String):void
+		{
+			(host as Panel).setDisplayStyleForLayout(value);
+		}
+
 	}
 }


[04/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop

Posted by pe...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/629949ec
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/629949ec
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/629949ec

Branch: refs/heads/feature/dragAndDrop
Commit: 629949ec033368ed535cbf7d6a31898623ec71b0
Parents: 7cd3093 2ce4db3
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 07:30:30 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 07:30:30 2017 +1200

----------------------------------------------------------------------
 .../flexjs/MDLExample/src/main/flex/Badges.mxml |  53 +++---
 .../MDLExample/src/main/flex/Buttons.mxml       | 176 ++++++++++---------
 .../flexjs/MDLExample/src/main/flex/Chips.mxml  |  19 +-
 .../MDLExample/src/main/flex/Dialogs.mxml       |  14 +-
 .../MDLExample/src/main/flex/DropDownList.mxml  |   5 +-
 .../MDLExample/src/main/flex/Footers.mxml       |  10 +-
 .../flexjs/MDLExample/src/main/flex/Grids.mxml  |   5 -
 .../flexjs/MDLExample/src/main/flex/Icons.mxml  |  58 +++---
 .../flexjs/MDLExample/src/main/flex/Lists.mxml  | 171 +++++++-----------
 .../flexjs/MDLExample/src/main/flex/Menus.mxml  |  37 ++--
 .../MDLExample/src/main/flex/Sliders.mxml       |  11 +-
 .../MDLExample/src/main/flex/Snackbar.mxml      |  13 +-
 .../flexjs/MDLExample/src/main/flex/Tables.mxml | 123 ++++++-------
 .../flexjs/MDLExample/src/main/flex/Tabs.mxml   |   4 +-
 .../MDLExample/src/main/flex/TextFields.mxml    | 116 ++++++------
 .../MDLExample/src/main/flex/Toggles.mxml       |  90 +++++-----
 .../org/apache/flex/html/ToggleTextButton.as    |  25 +--
 .../html/beads/layouts/VerticalFlexLayout.as    |   1 +
 .../html/supportClasses/PanelLayoutProxy.as     |  27 +++
 19 files changed, 475 insertions(+), 483 deletions(-)
----------------------------------------------------------------------



[15/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - -refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts. -renamed GenericTests to UnitTests and fixed some display issu

Posted by pe...@apache.org.
-refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts.
-renamed GenericTests to UnitTests and fixed some display issues due to layout changes etc


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/523eac21
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/523eac21
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/523eac21

Branch: refs/heads/feature/dragAndDrop
Commit: 523eac21fa4dff0ac0199cf0a8b0e11506e5859f
Parents: af7f5cd
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 11:33:40 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 11:33:40 2017 +1200

----------------------------------------------------------------------
 manualtests/BubbleTest/build.xml                |  44 +-
 manualtests/ContainerTest/build.xml             |  40 +-
 manualtests/CursorTest/build.xml                |  44 +-
 manualtests/DataBindingTestbed/build.xml        |  41 +-
 manualtests/DataGridXcompile/build.xml          |  39 +-
 manualtests/DateChooserExample/build.xml        |  38 +-
 manualtests/EffectsExample/build.xml            |  43 +-
 manualtests/FlexJSTest_HTML5/build.xml          |  36 +-
 manualtests/FlexJSTest_Panel/build.xml          |  35 +-
 manualtests/FlexJSTest_SVG/build.xml            |  37 +-
 manualtests/FlexJSTest_basic/build.xml          |  36 +-
 manualtests/FlexJSTest_createjs/build.xml       |  41 +-
 manualtests/FlexJSTest_jquery/build.xml         |  38 +-
 manualtests/FormExample/build.xml               |  45 +-
 manualtests/FormatExample/build.xml             |  43 +-
 manualtests/GenericTests/build.xml              |  76 ---
 manualtests/GenericTests/src/GenericTests.mxml  |  39 --
 manualtests/GenericTests/src/MyInitialView.mxml | 193 -------
 manualtests/GenericTests/src/README.txt         |  61 --
 manualtests/GenericTests/src/TestClasses.as     |  37 --
 .../src/flexUnitTests/CoreTester.as             |  43 --
 .../src/flexUnitTests/JiraIssuesTester.as       |  29 -
 .../src/flexUnitTests/ObservedBugsTester.as     |  33 --
 .../src/flexUnitTests/ReflectionTester.as       |  38 --
 .../flexUnitTests/core/BinaryDataTesterTest.as  | 567 -------------------
 .../src/flexUnitTests/core/StrandTesterTest.as  |  55 --
 .../src/flexUnitTests/jira/JiraTesterTest.as    |  73 ---
 .../observedbugs/ObservedBugTests.as            | 101 ----
 .../reflection/ReflectionTesterTest.as          | 373 ------------
 .../reflection/ReflectionTesterTestAlias.as     |  90 ---
 .../reflection/ReflectionTesterTestUseCache.as  |  93 ---
 .../reflection/support/ITestInterface.as        |  27 -
 .../reflection/support/ITestInterface2.as       |  29 -
 .../reflection/support/ITestInterface3.as       |  27 -
 .../reflection/support/ITestInterface4.as       |  29 -
 .../reflection/support/TestClass1.as            |  91 ---
 .../reflection/support/TestClass2.as            | 103 ----
 .../reflection/support/TestClass3.as            |  39 --
 .../reflection/support/TestClass4.as            |  95 ----
 .../src/flexunit/framework/Assert.as            | 305 ----------
 .../flexunit/framework/AssertionFailedError.as  |  39 --
 .../src/testshim/FlexJSUnitTestRunner.as        | 186 ------
 .../GenericTests/src/testshim/TestResult.as     |  56 --
 .../GenericTests/testsview/image/Flex.png       | Bin 3526 -> 0 bytes
 manualtests/GenericTests/testsview/index.html   | 128 -----
 manualtests/ImageTest/build.xml                 |  37 +-
 manualtests/LanguageTests/build.xml             |  37 +-
 manualtests/ListsTest/build.xml                 |  35 +-
 manualtests/ProxyTest/build.xml                 |  38 +-
 manualtests/ReflectionTest/build.xml            |  38 +-
 manualtests/RollEventsTest/build.xml            |  37 +-
 manualtests/TLFEditTestFlexJS/build.xml         |  36 +-
 manualtests/UnitTests/README.txt                |  61 ++
 manualtests/UnitTests/build.xml                 |  58 ++
 manualtests/UnitTests/src/README.txt            |  61 ++
 .../src/main/config/compile-app-config.xml      |  25 +
 .../UnitTests/src/main/flex/MyInitialView.mxml  | 190 +++++++
 manualtests/UnitTests/src/main/flex/README.txt  |  61 ++
 .../UnitTests/src/main/flex/TestClasses.as      |  37 ++
 .../UnitTests/src/main/flex/UnitTests.mxml      |  39 ++
 .../src/main/flex/flexUnitTests/CoreTester.as   |  43 ++
 .../main/flex/flexUnitTests/JiraIssuesTester.as |  29 +
 .../flex/flexUnitTests/ObservedBugsTester.as    |  33 ++
 .../main/flex/flexUnitTests/ReflectionTester.as |  38 ++
 .../flexUnitTests/core/BinaryDataTesterTest.as  | 567 +++++++++++++++++++
 .../flex/flexUnitTests/core/StrandTesterTest.as |  55 ++
 .../flex/flexUnitTests/jira/JiraTesterTest.as   |  73 +++
 .../observedbugs/ObservedBugTests.as            |  91 +++
 .../reflection/ReflectionTesterTest.as          | 373 ++++++++++++
 .../reflection/ReflectionTesterTestAlias.as     |  90 +++
 .../reflection/ReflectionTesterTestUseCache.as  |  93 +++
 .../reflection/support/ITestInterface.as        |  27 +
 .../reflection/support/ITestInterface2.as       |  29 +
 .../reflection/support/ITestInterface3.as       |  27 +
 .../reflection/support/ITestInterface4.as       |  29 +
 .../reflection/support/TestClass1.as            |  91 +++
 .../reflection/support/TestClass2.as            | 103 ++++
 .../reflection/support/TestClass3.as            |  39 ++
 .../reflection/support/TestClass4.as            |  95 ++++
 .../reflection/support/TestClass5.as            |  82 +++
 .../src/main/flex/flexunit/framework/Assert.as  | 305 ++++++++++
 .../flexunit/framework/AssertionFailedError.as  |  39 ++
 .../main/flex/testshim/FlexJSUnitTestRunner.as  | 186 ++++++
 .../src/main/flex/testshim/TestResult.as        |  56 ++
 manualtests/UnitTests/testsview/image/Flex.png  | Bin 0 -> 3526 bytes
 manualtests/UnitTests/testsview/index.html      | 129 +++++
 manualtests/XMLTest/build.xml                   |  40 +-
 manualtests/build.xml                           |  18 +-
 manualtests/build_example.xml                   | 540 ++++++++++++------
 89 files changed, 3753 insertions(+), 4012 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/BubbleTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/BubbleTest/build.xml b/manualtests/BubbleTest/build.xml
index 6cea9d2..8b013cf 100644
--- a/manualtests/BubbleTest/build.xml
+++ b/manualtests/BubbleTest/build.xml
@@ -22,52 +22,26 @@
 <project name="bubbletest" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="BubbleTest" />
-    <property name="swf.version" value="11" />
-    
-    <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
-    <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+
     <!-- use this to add keep metadata option -->
     <property name="theme_arg" value="-keep-as3-metadata+=Event" />
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
+    <property file="${FLEXJS_HOME}/env.properties"/>
+    <property environment="env"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
+    <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/ContainerTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/ContainerTest/build.xml b/manualtests/ContainerTest/build.xml
index c39c049..6ab2b67 100644
--- a/manualtests/ContainerTest/build.xml
+++ b/manualtests/ContainerTest/build.xml
@@ -22,52 +22,24 @@
 <project name="containertest" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="ContainerTest" />
-    <property name="swf.version" value="11" />
+
         
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
     <property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
-    
+	
+	
     <include file="${basedir}/../build_example.xml" />
-    
-<!-- temp remove build_example.compilejs -->
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
     

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/CursorTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/CursorTest/build.xml b/manualtests/CursorTest/build.xml
index c0f971f..3c61362 100644
--- a/manualtests/CursorTest/build.xml
+++ b/manualtests/CursorTest/build.xml
@@ -22,52 +22,26 @@
 <project name="cursortest" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="CursorTest" />
-    <property name="swf.version" value="11" />
-    
+	
+	<!-- use this to add keep metadata option -->
+    <property name="theme_arg" value="-keep-as3-metadata+=Event" />
+	
+    <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <!-- use this to add keep metadata option -->
-    <property name="theme_arg" value="-keep-as3-metadata+=Event" />
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/DataBindingTestbed/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/DataBindingTestbed/build.xml b/manualtests/DataBindingTestbed/build.xml
index 9c4ed2d..5fc23e6 100644
--- a/manualtests/DataBindingTestbed/build.xml
+++ b/manualtests/DataBindingTestbed/build.xml
@@ -22,53 +22,24 @@
 <project name="databindingexample" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="DataBindingTestbed" />
-    <property name="swf.version" value="11" />
-    
+	
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
-    </target>    
-    
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
 
     
     

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/DataGridXcompile/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/DataGridXcompile/build.xml b/manualtests/DataGridXcompile/build.xml
index ccc86f8..a8c716c 100644
--- a/manualtests/DataGridXcompile/build.xml
+++ b/manualtests/DataGridXcompile/build.xml
@@ -23,49 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="DataGridXcompile" />
     
-    <property file="${FLEXJS_HOME}/env.properties"/>
+   <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
-    </target>    
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
     
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/DateChooserExample/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/DateChooserExample/build.xml b/manualtests/DateChooserExample/build.xml
index c4e09af..84ab9b3 100644
--- a/manualtests/DateChooserExample/build.xml
+++ b/manualtests/DateChooserExample/build.xml
@@ -25,49 +25,21 @@
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
-    
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
-
     
     
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/EffectsExample/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/EffectsExample/build.xml b/manualtests/EffectsExample/build.xml
index de6a574..b16f1ac 100644
--- a/manualtests/EffectsExample/build.xml
+++ b/manualtests/EffectsExample/build.xml
@@ -25,53 +25,20 @@
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
-    
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
-    </target>
-    <!-- Uncomment to reproduce cross-compilation error in compilejs step
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
-    -->
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
-
-    
     
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FlexJSTest_HTML5/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_HTML5/build.xml b/manualtests/FlexJSTest_HTML5/build.xml
index 4faedac..0253696 100644
--- a/manualtests/FlexJSTest_HTML5/build.xml
+++ b/manualtests/FlexJSTest_HTML5/build.xml
@@ -23,48 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="FlexJSTest_HTML5" />
     
+   <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FlexJSTest_Panel/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_Panel/build.xml b/manualtests/FlexJSTest_Panel/build.xml
index 267a21d..23e3886 100644
--- a/manualtests/FlexJSTest_Panel/build.xml
+++ b/manualtests/FlexJSTest_Panel/build.xml
@@ -25,47 +25,20 @@
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FlexJSTest_SVG/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_SVG/build.xml b/manualtests/FlexJSTest_SVG/build.xml
index b273902..b714ff5 100644
--- a/manualtests/FlexJSTest_SVG/build.xml
+++ b/manualtests/FlexJSTest_SVG/build.xml
@@ -23,49 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="FlexJSTest_SVG" />
     
-    <property file="${FLEXJS_HOME}/env.properties"/>
+	<property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FlexJSTest_basic/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_basic/build.xml b/manualtests/FlexJSTest_basic/build.xml
index 313fe90..d39eeb0 100644
--- a/manualtests/FlexJSTest_basic/build.xml
+++ b/manualtests/FlexJSTest_basic/build.xml
@@ -23,48 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="FlexJSTest_basic" />
     
+	<property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FlexJSTest_createjs/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_createjs/build.xml b/manualtests/FlexJSTest_createjs/build.xml
index b8cda4e..2a3018e 100644
--- a/manualtests/FlexJSTest_createjs/build.xml
+++ b/manualtests/FlexJSTest_createjs/build.xml
@@ -22,51 +22,24 @@
 <project name="flexjstest_createjs" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="CreateJSExample" />
+	
+	<property name="extlib_arg" value="-js-external-library-path+=../../js/libs/createjs.swc"/>
     
+    <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
-    
-    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/createjs/target/createjs.swc"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
-
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FlexJSTest_jquery/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FlexJSTest_jquery/build.xml b/manualtests/FlexJSTest_jquery/build.xml
index d408541..ca1f272 100644
--- a/manualtests/FlexJSTest_jquery/build.xml
+++ b/manualtests/FlexJSTest_jquery/build.xml
@@ -23,48 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="jQuerySample" />
     
+	<property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
-
+	
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FormExample/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FormExample/build.xml b/manualtests/FormExample/build.xml
index 9e18f17..d482901 100644
--- a/manualtests/FormExample/build.xml
+++ b/manualtests/FormExample/build.xml
@@ -23,55 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="FormExample" />
     
-    <property file="${FLEXJS_HOME}/env.properties"/>
+   	<property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
-    
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
-    </target>
-    <!-- Uncomment to reproduce cross-compilation error in compilejs step
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
-    -->
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
-    
-    
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/FormatExample/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/FormatExample/build.xml b/manualtests/FormatExample/build.xml
index 00c6a9e..c3c7b08 100644
--- a/manualtests/FormatExample/build.xml
+++ b/manualtests/FormatExample/build.xml
@@ -23,55 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="FormatExample" />
     
-    <property file="${FLEXJS_HOME}/env.properties"/>
+	<property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
-    
+
     <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
-    <!-- Uncomment to reproduce cross-compilation error in compilejs step
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
-    </target>
-    -->
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
-
-    
     
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/build.xml b/manualtests/GenericTests/build.xml
deleted file mode 100644
index 7213c68..0000000
--- a/manualtests/GenericTests/build.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.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.
-
--->
-
-
-<project name="GenericTests" default="main" basedir=".">
-    <property name="FLEXJS_HOME" location="../.."/>
-    <property name="example" value="GenericTests" />
-    <property name="swf.version" value="11" />
-
-    <!-- adding flexuint style meta collection, and additional testing meta tags (Event,Bindable,TestMeta)-->
-    <property name="theme_arg" value="-keep-as3-metadata+=Test,BeforeClass,AfterClass,Before,After,TestVariance,Event,Bindable,TestMeta" />
-    <!-- adding flexuint style meta collection, and additional testing meta tags (Event,Bindable,TestMeta)-->
-    <property name="extlib_arg" value="-keep-code-with-metadata=Test,BeforeClass,AfterClass,Before,After,TestVariance,TestMeta" />
-    <property file="${FLEXJS_HOME}/env.properties"/>
-    <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
-    <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
-    
-    <include file="${basedir}/../build_example.xml" />
-
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of GenericTests">
-    </target>
-    
-    <target name="clean">
-        <delete dir="${basedir}/bin" failonerror="false" />
-        <delete dir="${basedir}/bin-debug" failonerror="false" />
-        <delete dir="${basedir}/bin-release" failonerror="false" />
-    </target>
-
-</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/GenericTests.mxml
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/GenericTests.mxml b/manualtests/GenericTests/src/GenericTests.mxml
deleted file mode 100644
index 0db0af9..0000000
--- a/manualtests/GenericTests/src/GenericTests.mxml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?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.
-//
-////////////////////////////////////////////////////////////////////////////////
--->
-<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
-				   xmlns:local="*"
-				   xmlns:models="models.*"
-                   xmlns:controllers="controllers.*"
-				   xmlns:js="library://ns.apache.org/flexjs/basic" 		   
-				   >
-	<fx:Style>
-		@namespace js "library://ns.apache.org/flexjs/basic";
-		js|Application {
-			background-color:#ffffff ;
-		}
-	</fx:Style>
-	<js:valuesImpl>
-		<js:SimpleCSSValuesImpl />
-	</js:valuesImpl>
-	<js:initialView>
-		<local:MyInitialView />
-	</js:initialView>
-</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/MyInitialView.mxml b/manualtests/GenericTests/src/MyInitialView.mxml
deleted file mode 100644
index af4aea7..0000000
--- a/manualtests/GenericTests/src/MyInitialView.mxml
+++ /dev/null
@@ -1,193 +0,0 @@
-<?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.
-
--->
-<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
-		 xmlns:js="library://ns.apache.org/flexjs/basic"
-		 xmlns:local="*"
-		 xmlns:acc="org.apache.flex.html.accessories.*"
-		 initComplete="runTests()"
->
-
-	<fx:Style>
-		.title {
-			font-size: 14pt;
-			font-weight: bold;
-		}
-		.body {
-			left:10px;
-			right:10px;
-		}
-	</fx:Style>
-
-	<fx:Script>
-		<![CDATA[
-		import org.apache.flex.html.Label;
-		import org.apache.flex.reflection.VariableDefinition;
-		import org.apache.flex.reflection.getDefinitionByName;
-		import org.apache.flex.reflection.describeType;
-		import org.apache.flex.reflection.TypeDefinition;
-
-		import testshim.FlexJSUnitTestRunner;
-		import testshim.TestResult;
-
-
-
-		private var _tests:Array;
-
-		public function runTests():void {
-			var label:Label;
-			var groups:Array = TestClasses.testClasses;
-			var spaces:String = PLATFORM == "JS" ? "&nbsp;&nbsp;&nbsp;" : "   ";
-			while (groups.length) {
-				var testGroupClass:Class = groups.shift() as Class;
-				var td:TypeDefinition = describeType(testGroupClass);
-				label = new Label();
-				label.text = "Running " + td.name + " Tests";
-				output.addElement(label);
-				var testClasses:Array = td.variables;
-				testClasses.sortOn("name");
-				var i:uint = 0, l:uint = testClasses.length;
-				if (l == 0) {
-					label = new Label();
-					label.text = spaces+ "[Zero tests detected]";
-					output.addElement(label);
-					continue;
-				}
-				for (; i < l; i++) {
-					var varDef:VariableDefinition = testClasses[i];
-
-					var testClass:Class = getDefinitionByName(varDef.type.qualifiedName) as Class;
-					fails = [];
-					passes = [];
-					variances = [];
-					warnings = [];
-					var runner:FlexJSUnitTestRunner = new FlexJSUnitTestRunner(testClass, onTestResult);
-					runner.runTests();
-					label = new Label();
-
-					label.text = "TEST: " + runner.testingName + spaces + "Passed:" + runner.successCount + ", Failed:" + runner.failCount + ", assertions made:" + runner.successfulAssertions;
-					label.style = {color: runner.failCount == 0 ? "green" : "red"};
-					output.addElement(label);
-					if (runner.failCount > 0 || fails.length) {
-						//show any failing test details
-						appendTestResults(fails);
-					}
-					if (variances.length) {
-						appendTestResults(variances);
-					}
-					if (warnings.length) {
-						appendTestResults(warnings);
-					}
-				}
-			}
-
-		}
-
-
-		private var fails:Array;
-		private var passes:Array;
-		private var variances:Array;
-		private var warnings:Array;
-		public function onTestResult(result:TestResult):void {
-			if (result.pass) passes.push(result);
-			else fails.push(result);
-
-			if (result.hasVariance && result.pass) {
-				if (result.varianceTarget.indexOf(PLATFORM) != -1) {
-					//variance applies to this target
-					variances.push(result);
-				}
-			}
-
-			if (result.warning!=null && result.pass && !result.hasVariance) {
-				// a test result that would otherwise indicate a pass, but has a warning
-				warnings.push(result);
-			}
-		}
-
-		public function appendTestResults(array:Array):void {
-			array = array.slice();
-			var spaces:String = "   ";
-			var newline:String = "\n" ;
-			while (array.length) {
-				var result:TestResult = array.shift();
-				var label:Label = new Label();
-				//label.x=10; <- fails in js, using 'spaces' below instead
-				var message:String = spaces + result.toString(newline +spaces);
-
-				if (result.hasVariance)
-					message = spaces + "VARIANCE:" + result.varianceDescription + newline + message ;
-				if (result.warning != null) {
-					message =  spaces + result.warning +newline +message;
-				}
-				if (PLATFORM == "JS") {
-					message = escapeForHtml(message);
-					var jsSpaces:String = spaces.split(" ").join("&nbsp;");
-					message = message.split(spaces).join(jsSpaces);
-				}
-
-				label.text = message;
-
-				if (result.pass) {
-					var showOrange:Boolean = false;
-					if (result.hasVariance || result.warning!=null) showOrange = true;
-					label.style = {color: showOrange ? 0xFFA500 : "green"};
-				} else label.style = {color: "red"};
-				output.addElement(label);
-			}
-		}
-
-		private static function escapeForHtml( string : String ) : String {
-			return  string.split("<").join("&lt;").split(">").join("&gt;").split("\n").join("<br/>");
-		}
-
-
-		private static function getPlatform():String {
-			try {
-				var check:* = getDefinitionByName("flash.system.Capabilities");
-			} catch (e:Error) {
-				return "JS";
-			}
-			//if this next reference to 'check' is not included, then the above try/catch code
-			// appears to be optimized away in js-release mode
-			//[this issue was added to ObservedBugs Tests]
-			if (check == null) {
-				return "JS";
-			}
-			return "SWF";
-		}
-
-		public static const PLATFORM:String = getPlatform();
-		]]>
-	</fx:Script>
-	<js:beads>
-		<js:ViewDataBinding/>
-	</js:beads>
-	<js:Group id="cont" height="50" className="body">
-		<js:beads>
-			<js:VerticalFlexLayout />
-		</js:beads>
-		<js:Label text="{PLATFORM} Cross-compiled Unit Tests" className="title" />
-	</js:Group>
-	<js:Group id="output" height="700" y="50" className="body">
-		<js:beads>
-			<js:VerticalFlexLayout />
-		</js:beads>
-	</js:Group>
-</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/README.txt
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/README.txt b/manualtests/GenericTests/src/README.txt
deleted file mode 100644
index 4ef6e3f..0000000
--- a/manualtests/GenericTests/src/README.txt
+++ /dev/null
@@ -1,61 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-DESCRIPTION
-
-The GenericTests application is a very basic form of unit testing primarily
-intended for FlexJS framework developers. It is a 'lite' version of a small portion of 
-Flexunit code to support basic assertion tests.
-
-This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX)
-into JavaScript and HTML and run without Flash.
-
-There is a convenience html page for hosting the tests side-by-side that permits developers
-to refresh the test builds simultaneously and compare results in the browser, including the 
-ability to toggle between JS-Debug and JS-Release builds.
-While this is primarily intended for framework developers, it may be useful as a starting point
-for cross-compiled unit testing (during development only) in regular FlexJS projects.
-
-FRAMEWORK DEVELOPER NOTES
-To add new tests, follow the examples inside the flexUnitTests package, and add any new Test
-group or category level class (the classes directly inside flexUnitTests package) into the top 
-level TestClasses.as file. This should be all that is necessary to add new tests.
-
-MetaData
-[BeforeClass] -same as flexunit (typical: 'setupBeforClass')- runs a static method before the test class is instantiated
-[AfterClass] -same as flexunit (typical: 'tearDownAfterClass')- runs a static method after the test class has been processed
-[Before] -same as flexunit (typical: 'setup') - runs an instance method before the test class' test methods are processed
-[After] -same as flexunit (typical: 'tearDown') - runs an instance method after the test class' test methods are processed
-[Test] -same as flexunit (typical: 'testXXXX') - denotes a test method. No assumption about order of test methods being called should be made
-
-[TestVariance(variance="JS",description="Reason for variation in JS expected results")]
-The above is specific to this test app, and permits annotation of test methods where the expected results are different between compiler targets.
-The variance key in the meta data should be either "SWF" or "JS". This is the compiler target with the result that is considered to be different
-to what it ideally 'should be', but correct as per the current implementation of the framework. Usually this will be "JS". It indicates a known
-but currently acceptable difference between compiler targets.
-
-
-GENERAL NOTES
-
-In its first working version this app only supports synchronous simple assertions and 
-is intended to use test classes that are compatible with the flexunit tests that are 
-used in the full framework build. Future versions may include more advanced features.
-
-The cross-compilation to JavaScript often results in non-fatal warnings. Some of these warnings
-should be addressed in future releases of the Falcon JX compiler.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/TestClasses.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/TestClasses.as b/manualtests/GenericTests/src/TestClasses.as
deleted file mode 100644
index f7273c0..0000000
--- a/manualtests/GenericTests/src/TestClasses.as
+++ /dev/null
@@ -1,37 +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
-{
-	//test groups
-	import flexUnitTests.*;
-
-
-	public class TestClasses 
-	{
-		
-		public static function get testClasses():Array {
-			return [
-						CoreTester,
-						ReflectionTester,
-						ObservedBugsTester,
-						JiraIssuesTester
-					];
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/CoreTester.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/CoreTester.as b/manualtests/GenericTests/src/flexUnitTests/CoreTester.as
deleted file mode 100644
index 9af36e3..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/CoreTester.as
+++ /dev/null
@@ -1,43 +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 flexUnitTests
-{
-	import flexUnitTests.core.*
-
-    [Suite]
-    [RunWith("org.flexunit.runners.Suite")]
-    public class CoreTester
-    {
-        public function CoreTester()
-        {
-            // for JS, force-link these classes in the output
-            var arr:Array = [StrandTesterTest, BinaryDataTesterTest];
-        }
-        
-        // in JS, using a class as a type won't include the class in
-        // the output since types are not chcked in JS.  It is when
-        // the actual class is referenced that it will be included
-        // in the output.
-        // Is there a reason to use reflection to gather the set
-        // of tests?  I would think an array of tests would wokr
-        // better and allow you to define order.
-        public var strandTesterTest:StrandTesterTest;
-		public var binaryDataTesterTest:BinaryDataTesterTest;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/JiraIssuesTester.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/JiraIssuesTester.as b/manualtests/GenericTests/src/flexUnitTests/JiraIssuesTester.as
deleted file mode 100644
index fc37533..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/JiraIssuesTester.as
+++ /dev/null
@@ -1,29 +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 flexUnitTests
-{
-	import flexUnitTests.jira.*
-	
-    [Suite]
-    [RunWith("org.flexunit.runners.Suite")]
-    public class JiraIssuesTester
-    {
-        
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/ObservedBugsTester.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/ObservedBugsTester.as b/manualtests/GenericTests/src/flexUnitTests/ObservedBugsTester.as
deleted file mode 100644
index 11f62e3..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/ObservedBugsTester.as
+++ /dev/null
@@ -1,33 +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 flexUnitTests
-{
-	import flexUnitTests.observedbugs.*
-	
-    [Suite]
-    [RunWith("org.flexunit.runners.Suite")]
-    public class ObservedBugsTester
-    {
-        public function ObservedBugsTester()
-        {
-            var arr:Array = [ObservedBugTests];
-        }
-        public var observedBugsTest1:ObservedBugTests;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/ReflectionTester.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/ReflectionTester.as b/manualtests/GenericTests/src/flexUnitTests/ReflectionTester.as
deleted file mode 100644
index 74c5b4d..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/ReflectionTester.as
+++ /dev/null
@@ -1,38 +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 flexUnitTests
-{
-	import flexUnitTests.reflection.*;
-	
-    [Suite]
-    [RunWith("org.flexunit.runners.Suite")]
-    public class ReflectionTester
-    {
-        public function ReflectionTester()
-        {
-            // see notes in CoreTester
-            var arr:Array = [ReflectionTesterTest, ReflectionTesterTestUseCache, ReflectionTesterTestAlias];
-        }
-        
-        public var reflectionTesterCacheTest:ReflectionTesterTestUseCache;
-        public var reflectionTesterTest:ReflectionTesterTest;
-        
-        public var reflectionTesterAliasTest:ReflectionTesterTestAlias;
-    }
-}


[08/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Quick fix for ImageTest

Posted by pe...@apache.org.
Quick fix for ImageTest


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

Branch: refs/heads/feature/dragAndDrop
Commit: a5f14d73961a9aefbee0c16b7a0a03e5fd77b3e9
Parents: a1f60d1
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 11:28:02 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 11:28:02 2017 +1200

----------------------------------------------------------------------
 manualtests/ImageTest/src/MyInitialView.mxml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a5f14d73/manualtests/ImageTest/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/ImageTest/src/MyInitialView.mxml b/manualtests/ImageTest/src/MyInitialView.mxml
index 8037448..0ed949a 100644
--- a/manualtests/ImageTest/src/MyInitialView.mxml
+++ b/manualtests/ImageTest/src/MyInitialView.mxml
@@ -35,10 +35,10 @@ limitations under the License.
 			<js:VerticalLayout />
 		</js:beads>
 		
-		<js:Image width="48" height="48" source="smallbluerect.jpg" />
-		<js:Image width="183" height="178" source="largegreenrect.png" />
-		<js:Image width="48" height="48" source="smallorangerect.gif" />
-		<js:Image width="48" height="48" source="smallgreenrect.jpg" />
+		<js:Image width="48" height="48" src="smallbluerect.jpg" />
+		<js:Image width="183" height="178" src="largegreenrect.png" />
+		<js:Image width="48" height="48" src="smallorangerect.gif" />
+		<js:Image width="48" height="48" src="smallgreenrect.jpg" />
 		
 	</js:Container>
 	


[09/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Quick fix for ListsTest

Posted by pe...@apache.org.
Quick fix for ListsTest


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

Branch: refs/heads/feature/dragAndDrop
Commit: 1fe4d2c97e41a8d2f2eb4d958f7c8e7e70dd803e
Parents: a5f14d7
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 11:29:05 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 11:29:05 2017 +1200

----------------------------------------------------------------------
 manualtests/ListsTest/src/products/ProductItemRenderer.as | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1fe4d2c9/manualtests/ListsTest/src/products/ProductItemRenderer.as
----------------------------------------------------------------------
diff --git a/manualtests/ListsTest/src/products/ProductItemRenderer.as b/manualtests/ListsTest/src/products/ProductItemRenderer.as
index 2983149..6e3d74a 100644
--- a/manualtests/ListsTest/src/products/ProductItemRenderer.as
+++ b/manualtests/ListsTest/src/products/ProductItemRenderer.as
@@ -57,7 +57,7 @@ package products
 		{
 			super.data = value;
 			
-			image.url = data.image;
+			image.src = data.image;
 			title.text = data.title;
 			detail.text = data.detail;
 		}


[21/32] flex-asjs git commit: “Stringables” should be assignable to XML

Posted by pe...@apache.org.
“Stringables” should be assignable to XML


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/3bb0e7b1
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/3bb0e7b1
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/3bb0e7b1

Branch: refs/heads/feature/dragAndDrop
Commit: 3bb0e7b1205315edb379be3674e6a2be05165cee
Parents: e17b287
Author: Harbs <ha...@in-tools.com>
Authored: Wed Aug 23 23:51:24 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Wed Aug 23 23:51:24 2017 +0300

----------------------------------------------------------------------
 frameworks/projects/XML/src/main/flex/XML.as | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3bb0e7b1/frameworks/projects/XML/src/main/flex/XML.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/XML/src/main/flex/XML.as b/frameworks/projects/XML/src/main/flex/XML.as
index 7970df1..054682e 100644
--- a/frameworks/projects/XML/src/main/flex/XML.as
+++ b/frameworks/projects/XML/src/main/flex/XML.as
@@ -1943,6 +1943,15 @@ package
 			var i:int;
 			var len:int;
 			var chld:XML;
+
+			// I'm not wure that this a strict interpretation of the spec but I think this does the "right thing".
+			var childType:String = typeof elements;
+			if(childType != "object")
+			{
+				var stringable:XML = xmlFromStringable(elements);
+				elements = new XML("<" + elementName + "/>");
+				elements.appendChild(stringable);
+			}
 			
 			if(elements is XML)
 			{


[02/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Simplified ToggleTextButton

Posted by pe...@apache.org.
Simplified ToggleTextButton


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

Branch: refs/heads/feature/dragAndDrop
Commit: d104a2edb2ef06e348ee65d9b56d44ccd071841c
Parents: 8b10930
Author: Harbs <ha...@in-tools.com>
Authored: Mon Aug 21 14:01:55 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Aug 21 14:01:55 2017 +0300

----------------------------------------------------------------------
 .../org/apache/flex/html/ToggleTextButton.as    | 25 ++++----------------
 1 file changed, 4 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d104a2ed/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
index 6061898..8718a6f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
@@ -85,10 +85,6 @@ package org.apache.flex.html
             {
                 addEventListener(MouseEvent.CLICK, internalMouseHandler);
             }
-            COMPILE::JS
-            {
-                this.typeNames = 'toggleTextButton';
-            }
 		}
 
         private var _selected:Boolean = false;
@@ -130,9 +126,7 @@ package org.apache.flex.html
                 if (_selected != value)
                 {
                     _selected = value;
-                    
                     internalSelected();
-                    
                     dispatchEvent(new Event("change"));
                 }
             }
@@ -177,26 +171,15 @@ package org.apache.flex.html
             COMPILE::JS
             {
                 var isToggleTextButtonSelected:Boolean = element.classList.contains("toggleTextButton_Selected");
-                if (!isToggleTextButtonSelected && _selected == true)
-                {
-                    element.classList.add("toggleTextButton_Selected");
-                }
-                else if (isToggleTextButtonSelected && _selected == false)
-                {
+                //sync the class with the state
+                if(isToggleTextButtonSelected != _selected)
                     element.classList.toggle("toggleTextButton_Selected");
-                }
                 
                 var isToggleTextButton:Boolean = element.classList.contains("toggleTextButton");
-                if (!isToggleTextButton && _selected == false)
-                {
-                    element.classList.add("toggleTextButton");
-                }
-                else if (isToggleTextButton && _selected == true)
-                {
+                // Need to toggle if we have the class and it's selected or we don't and it's not selected.
+                if(isToggleTextButton == _selected)
                     element.classList.toggle("toggleTextButton");
-                }
                 
-                typeNames = element.className;
             }
         }
 


[29/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Add MDLDynamicTableExample to ilustrate how add/remove items to MDL Table - Currently only adding is working. The rest job will be done as part of FLEX-35354

Posted by pe...@apache.org.
Add MDLDynamicTableExample to ilustrate how add/remove items to MDL Table - Currently only adding is working. The rest job will be done as part of FLEX-35354


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/885e3213
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/885e3213
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/885e3213

Branch: refs/heads/feature/dragAndDrop
Commit: 885e3213653ce7188d8365a1a8f2a2e2018d351d
Parents: 37dc600
Author: piotrz <pi...@apache.org>
Authored: Sun Aug 27 23:16:17 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Sun Aug 27 23:16:17 2017 +0200

----------------------------------------------------------------------
 examples/flexjs/MDLDynamicTableExample/pom.xml  | 74 ++++++++++++++++++++
 .../src/MDLDynamicTableExample.mxml             | 36 ++++++++++
 .../MDLDynamicTableExample/src/MainView.mxml    | 65 +++++++++++++++++
 .../CustomTableRowItemRenderer.mxml             | 46 ++++++++++++
 .../src/models/UserListModel.as                 | 37 ++++++++++
 .../src/resources/mdl-js-index-template.html    | 33 +++++++++
 .../src/resources/mdl-styles.css                | 31 ++++++++
 .../MDLDynamicTableExample/src/vo/UserVO.as     | 40 +++++++++++
 examples/flexjs/pom.xml                         |  1 +
 9 files changed, 363 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/pom.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/pom.xml b/examples/flexjs/MDLDynamicTableExample/pom.xml
new file mode 100644
index 0000000..c1603a0
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/pom.xml
@@ -0,0 +1,74 @@
+<?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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.flex.flexjs.examples</groupId>
+    <artifactId>examples-flexjs</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>MDLDynamicTableExample</artifactId>
+  <version>0.9.0-SNAPSHOT</version>
+  <packaging>swf</packaging>
+
+  <name>Apache Flex - FlexJS: Examples: FlexJS: MDLDynamicTableExample</name>
+
+  <properties>
+    <!-- Customize MDL colors using this the tool at : https://getmdl.io/customize/index.html -->
+    <primary>indigo</primary>
+    <accent>pink</accent>
+  </properties>
+
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>src/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.flex.flexjs.compiler</groupId>
+        <artifactId>flexjs-maven-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <mainClass>MDLDynamicTableExample.mxml</mainClass>
+          <targets>JSFlex</targets>
+          <htmlTemplate>${basedir}/target/javascript/bin/js-debug/mdl-js-index-template.html</htmlTemplate>
+          <additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-0.9.0-SNAPSHOT-js.swc:defaults.css</additionalCompilerOptions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.flex.flexjs.framework</groupId>
+      <artifactId>MaterialDesignLite</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+  </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/MDLDynamicTableExample.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/MDLDynamicTableExample.mxml b/examples/flexjs/MDLDynamicTableExample/src/MDLDynamicTableExample.mxml
new file mode 100644
index 0000000..4e2a329
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/MDLDynamicTableExample.mxml
@@ -0,0 +1,36 @@
+<?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.
+
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:js="library://ns.apache.org/flexjs/basic" 
+				xmlns:local="*">
+				
+	<fx:Style source="resources/mdl-styles.css"/>
+	
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	
+	<js:initialView>
+		<js:View width="100%" height="100%">
+			<local:MainView />
+		</js:View>
+	</js:initialView>
+	
+ </js:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/MainView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/MainView.mxml b/examples/flexjs/MDLDynamicTableExample/src/MainView.mxml
new file mode 100644
index 0000000..95691fb
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/MainView.mxml
@@ -0,0 +1,65 @@
+<?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.
+
+-->
+<mdl:Grid xmlns:fx="http://ns.adobe.com/mxml/2009"
+		 xmlns:js="library://ns.apache.org/flexjs/basic"
+		 xmlns:mdl="library://ns.apache.org/flexjs/mdl" xmlns:models="models.*">
+	
+	<fx:Script>
+        <![CDATA[
+		import vo.UserVO;
+
+		private function onAddEmployeeClick(event:MouseEvent):void
+		{
+			usersListModel.users.addItem(new UserVO("piotrz", "Piotr", "Zarzycki", "piotrz@apache.org"));
+		}
+        ]]>
+    </fx:Script>
+
+	<mdl:beads>
+		<js:ContainerDataBinding/>
+	</mdl:beads>
+
+	<mdl:model>
+		<models:UserListModel id="usersListModel"/>
+	</mdl:model>
+
+	<mdl:GridCell column="12">
+		<mdl:Table id="tblUsers" shadow="2"
+				   dataProvider="{usersListModel.users}" className="customTableStyle">
+			<mdl:columns>
+				<mdl:TableColumn headerText="Username" />
+				<mdl:TableColumn headerText="First Name"/>
+				<mdl:TableColumn headerText="Last Name"/>
+				<mdl:TableColumn headerText="Email"/>
+			</mdl:columns>
+			<mdl:beads>
+				<!--Bead for listening changes of collection source-->
+				<js:DataProviderCollectionChangeNotifier sourceID="usersListModel" propertyName="users"
+														 destinationPropertyName="dataProvider" changeEventName="dataProviderChanged"  />
+				<!--Bead for listening items events changes-->
+				<js:DataProviderItemsChangeNotifier sourceID="usersListModel" propertyName="users"
+													destinationPropertyName="dataProvider" changeEventName="dataProviderChanged"  />
+			</mdl:beads>
+		</mdl:Table>
+	</mdl:GridCell>
+	<mdl:GridCell>
+		<mdl:Button text="Add Employee" width="100" click="onAddEmployeeClick(event)"/>
+	</mdl:GridCell>
+</mdl:Grid>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/itemRenderers/CustomTableRowItemRenderer.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/itemRenderers/CustomTableRowItemRenderer.mxml b/examples/flexjs/MDLDynamicTableExample/src/itemRenderers/CustomTableRowItemRenderer.mxml
new file mode 100644
index 0000000..cf92588
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/itemRenderers/CustomTableRowItemRenderer.mxml
@@ -0,0 +1,46 @@
+<?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.
+
+-->
+<mdl:TableRowItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
+                       xmlns:js="library://ns.apache.org/flexjs/basic"
+                       xmlns:mdl="library://ns.apache.org/flexjs/mdl"
+                       xmlns="http://www.w3.org/1999/xhtml">
+
+    <fx:Script>
+		<![CDATA[
+        import vo.UserVO;
+
+        		[Bindable("dataChange")]
+            public function get userVO():UserVO
+            {
+                return data as UserVO;
+            }
+		]]>
+	</fx:Script>
+
+    <mdl:beads>
+        <js:ItemRendererDataBinding />
+    </mdl:beads>
+    
+    <mdl:TableCell text="{userVO.username}"/>
+    <mdl:TableCell text="{userVO.firstName}"/>
+    <mdl:TableCell text="{userVO.lastName}"/>
+    <mdl:TableCell text="{userVO.email}"/>
+    
+</mdl:TableRowItemRenderer>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/models/UserListModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/models/UserListModel.as b/examples/flexjs/MDLDynamicTableExample/src/models/UserListModel.as
new file mode 100644
index 0000000..3952312
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/models/UserListModel.as
@@ -0,0 +1,37 @@
+/*
+ *
+ *  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 models
+{
+	import org.apache.flex.collections.ArrayList;
+	import vo.UserVO;
+
+    [Bindable]
+	public class UserListModel
+	{
+		private var _users:ArrayList = new ArrayList([
+			new UserVO("lstooge","Larry", "Stooge", "larry@stooges.com" ),
+            new UserVO("cstooge","Curly", "Stooge", "curly@stooges.com" )
+		]);
+		
+		public function get users():ArrayList
+		{
+			return _users
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-js-index-template.html
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-js-index-template.html b/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-js-index-template.html
new file mode 100644
index 0000000..f21943f
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-js-index-template.html
@@ -0,0 +1,33 @@
+<!--
+  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.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<meta name="Custom Template for injecting custom style CSS">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
+	<link rel="stylesheet" type="text/css" href="${application}.css">
+  <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+  <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.min.css">
+  <script src="https://code.getmdl.io/1.3.0/material.min.js"></script>
+${head}
+</head>
+<body>
+${body}
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-styles.css
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-styles.css b/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-styles.css
new file mode 100644
index 0000000..5e15f22
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/resources/mdl-styles.css
@@ -0,0 +1,31 @@
+/*
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+*/
+
+@namespace "http://www.w3.org/1999/xhtml";
+@namespace js "library://ns.apache.org/flexjs/basic";
+@namespace mdl "library://ns.apache.org/flexjs/mdl";
+
+.customTableStyle
+{
+	IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DynamicItemsRendererFactoryForArrayListData");
+    IItemRenderer: ClassReference("itemRenderers.CustomTableRowItemRenderer");
+}
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/MDLDynamicTableExample/src/vo/UserVO.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTableExample/src/vo/UserVO.as b/examples/flexjs/MDLDynamicTableExample/src/vo/UserVO.as
new file mode 100644
index 0000000..6181ab8
--- /dev/null
+++ b/examples/flexjs/MDLDynamicTableExample/src/vo/UserVO.as
@@ -0,0 +1,40 @@
+/*
+ *
+ *  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 vo
+{
+	[Bindable]
+	public class UserVO
+	{
+	    public var username:String;
+	    public var firstName:String;
+	    public var lastName:String;
+		public var email:String;
+		
+		public function UserVO(username:String = null, 
+							   firstName:String = null,
+							   lastName:String = null,
+							   email:String = null)
+		{
+			this.username = username;
+			this.firstName = firstName;
+			this.lastName = lastName;
+			this.email = email;	
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/885e3213/examples/flexjs/pom.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/pom.xml b/examples/flexjs/pom.xml
index 2de6a5a..a749153 100644
--- a/examples/flexjs/pom.xml
+++ b/examples/flexjs/pom.xml
@@ -53,6 +53,7 @@
     <!--module>MDLBlogExample</module>-->
     <module>MDLDynamicTabsExample</module>
     <module>MDLExample</module>
+    <module>MDLDynamicTableExample</module>
     <module>ModuleExample</module>
     <module>MobileMap</module>
     <module>MobileStocks</module>


[30/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Allow chained assignment to non-existent children

Posted by pe...@apache.org.
Allow chained assignment to non-existent children


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/884826eb
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/884826eb
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/884826eb

Branch: refs/heads/feature/dragAndDrop
Commit: 884826ebfb9184574a17e6cb0a9f62331a4a31be
Parents: 37dc600
Author: Harbs <ha...@in-tools.com>
Authored: Mon Aug 28 12:54:52 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Aug 28 12:54:52 2017 +0300

----------------------------------------------------------------------
 frameworks/projects/XML/src/main/flex/XML.as    | 10 +++++++
 .../projects/XML/src/main/flex/XMLList.as       | 31 ++++++++++++++++----
 manualtests/XMLTest/src/MyInitialView.mxml      |  5 ++++
 3 files changed, 41 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/884826eb/frameworks/projects/XML/src/main/flex/XML.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/XML/src/main/flex/XML.as b/frameworks/projects/XML/src/main/flex/XML.as
index cf3d9ea..7e749fc 100644
--- a/frameworks/projects/XML/src/main/flex/XML.as
+++ b/frameworks/projects/XML/src/main/flex/XML.as
@@ -2131,6 +2131,16 @@ package
 		{
 			_value = value;
 		}
+
+		/**
+		 * @private
+		 * 
+		 * Allows XMLList to get the targetObject of its targetObject and not error when it gets the XML
+		 */
+		public function get targetObject():*
+		{
+			return null;
+		}
 		
 		/**
 		 * Returns an XMLList object of all XML properties of the XML object that represent XML text nodes.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/884826eb/frameworks/projects/XML/src/main/flex/XMLList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/XML/src/main/flex/XMLList.as b/frameworks/projects/XML/src/main/flex/XMLList.as
index d90ee3d..6f8dcdd 100644
--- a/frameworks/projects/XML/src/main/flex/XMLList.as
+++ b/frameworks/projects/XML/src/main/flex/XMLList.as
@@ -230,6 +230,7 @@ package
 		public function child(propertyName:Object):XMLList
 		{
 			var retVal:XMLList = new XMLList();
+			retVal.targetProperty = propertyName.toString();
 			var propNum:Number = parseInt(propertyName,10);
 			if(propNum.toString() == propertyName)
 			{
@@ -240,9 +241,12 @@ package
 				}
 				return retVal;
 			}
+			if(isEmpty())
+			{
+				retVal.targetObject = this;
+			}
 			if(isSingle())
 				return _xmlArray[0].child(propertyName);
-			
 			var len:int = _xmlArray.length;
 			for (var i:int=0;i<len;i++)
 			{
@@ -783,12 +787,25 @@ package
 		{
 			return _targetProperty;
 		}
-		
-		public function setAttribute(attr:*,value:String):void
+		private function xmlFromProperty():XML
 		{
+			var xmlStr:String = "<";
+			if(_targetProperty.prefix)
+				xmlStr += _targetProperty.prefix + "::";
+
+			xmlStr += _targetProperty.localName + "/>";
+			return new XML(xmlStr);
+		}
+		public function setAttribute(attr:*,value:String):String
+		{
+			if(isEmpty() && targetObject)//walk up the tree and create nodes.
+				_xmlArray[0] = targetObject.setChild(_targetProperty,xmlFromProperty());
+
 			var len:int = _xmlArray.length;
 			for (var i:int=0;i<len;i++)
 				_xmlArray[i].setAttribute(attr,value);
+			
+			return value;
 
 		}
 		public function hasAncestor(obj:*):Boolean
@@ -840,11 +857,15 @@ package
 			if(isSingle())
 				return _xmlArray[0].replace(propertyName,value);
 		}
-		public function setChild(elementName:*, elements:Object):void
+		public function setChild(elementName:*, elements:Object):Object
 		{
+			if(isEmpty() && targetObject)//walk up the tree and create nodes.
+				_xmlArray[0] = targetObject.setChild(_targetProperty,xmlFromProperty());
+
 			if(isSingle())
 				_xmlArray[0].setChild(elementName,elements);
-
+			
+			return elements;
 		}
 
 		public function setParent(parent:XML):void

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/884826eb/manualtests/XMLTest/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/XMLTest/src/MyInitialView.mxml b/manualtests/XMLTest/src/MyInitialView.mxml
index 6b73d7f..851aeac 100644
--- a/manualtests/XMLTest/src/MyInitialView.mxml
+++ b/manualtests/XMLTest/src/MyInitialView.mxml
@@ -103,6 +103,11 @@ limitations under the License.
         trace(xml1.toXMLString() == '<foo baz="true"/>');
         var baz:XMLList = xml1.@baz;
         trace("baz: " + xml1.@baz.toString() + " //true");
+				var xml3:XML = <root/>;
+				xml3.bar.baz = "baz";
+				xml3.foo.@boo = "boo";
+				trace("baz? " + xml3.bar.baz);
+				trace("boo? " + xml3.foo.@boo);
         var child:XML = <pop><child name="Sam"/></pop>;
         xml1.appendChild(child);
         child = <pop><child name="George"/></pop>;


[13/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - -refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts. -renamed GenericTests to UnitTests and fixed some display issu

Posted by pe...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/testshim/FlexJSUnitTestRunner.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/testshim/FlexJSUnitTestRunner.as b/manualtests/GenericTests/src/testshim/FlexJSUnitTestRunner.as
deleted file mode 100644
index 7494963..0000000
--- a/manualtests/GenericTests/src/testshim/FlexJSUnitTestRunner.as
+++ /dev/null
@@ -1,186 +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 testshim {
-
-import org.apache.flex.reflection.MetaDataArgDefinition;
-import org.apache.flex.reflection.MetaDataDefinition;
-import org.apache.flex.reflection.MethodDefinition;
-import org.apache.flex.reflection.TypeDefinition;
-import org.apache.flex.reflection.describeType;
-
-import flexunit.framework.Assert;
-public class FlexJSUnitTestRunner {
-
-
-    public function FlexJSUnitTestRunner(testerClass:Class, notificationReceiver:Function) {
-        this.testerClass = testerClass;
-        this.callback = notificationReceiver;
-        prepare();
-    }
-
-    private var testerClass:Class;
-    private var callback:Function;
-
-    private var _testingName:String;
-    public function get testingName():String{
-        return _testingName;
-    }
-    private var _successCount:uint=0;
-    public function get successCount():uint {
-        return _successCount;
-    }
-
-    private var _failCount:uint=0;
-    public function get failCount():uint {
-        return _failCount;
-    }
-
-    private var _successfulAssertions:uint=0;
-    public function get successfulAssertions():uint {
-        return _successfulAssertions;
-    }
-
-    private var beforeClassFunc:Function;
-    private var afterClassFunc:Function;
-    private var setupFunc:MethodDefinition;
-    private var tearDownFunc:MethodDefinition;
-
-    private var testMethods:Array=[];
-
-    private function prepare():void{
-        var typeDef:TypeDefinition = describeType(testerClass);
-        _testingName = typeDef.name;
-        var staticMethods:Array = typeDef.staticMethods;
-        for each (var methodDef:MethodDefinition in staticMethods) {
-            var beforeClass:Array = methodDef.retrieveMetaDataByName("BeforeClass");
-            var afterClass:Array = methodDef.retrieveMetaDataByName("AfterClass");
-            if ( beforeClass.length ) {
-                if (beforeClassFunc!=null) throw new Error("BeforeClass used more than once in "+typeDef.qualifiedName);
-                beforeClassFunc = testerClass[methodDef.name];
-            }
-            if ( afterClass.length ) {
-                if (afterClassFunc!=null) throw new Error("AfterClass used more than once in "+typeDef.qualifiedName);
-                afterClassFunc = testerClass[methodDef.name];
-            }
-        }
-        var methods:Array = typeDef.methods;
-        for each (methodDef in methods) {
-            var beforeTests:Array = methodDef.retrieveMetaDataByName("Before");
-            var afterTests:Array = methodDef.retrieveMetaDataByName("After");
-            if ( beforeTests.length ) {
-                if (setupFunc!=null) throw new Error("Before used more than once in "+typeDef.qualifiedName);
-                setupFunc = methodDef;
-            }
-            if ( afterTests.length ) {
-                if (tearDownFunc!=null) throw new Error("After used more than once in "+typeDef.qualifiedName);
-                tearDownFunc = methodDef;
-            }
-            var test:Array = methodDef.retrieveMetaDataByName("Test");
-            if (test.length) {
-                testMethods.push(methodDef);
-            }
-            testMethods.sortOn("name");
-        }
-
-        if (testMethods.length == 0) {
-            throw new Error("Zero test methods detected in "+typeDef.qualifiedName+", check to make sure -keep-as3-metadata is configured");
-        }
-    }
-
-    private function begin():void {
-        if (beforeClassFunc!=null) beforeClassFunc();
-    }
-
-    public function runTests():void{
-        begin();
-        var testInstance:Object = new testerClass();
-        if (setupFunc!=null) {
-            testInstance[setupFunc.name]();
-        }
-        var i:uint=0, l:uint=testMethods.length;
-
-        for(;i<l;i++) {
-            runFlexJSTest(_testingName,testInstance,testMethods[i],callback);
-        }
-
-        if (tearDownFunc!=null) {
-            testInstance[tearDownFunc.name]();
-        }
-        end();
-    }
-
-    private function end():void{
-        if (afterClassFunc!=null) afterClassFunc();
-    }
-
-
-    private function runFlexJSTest(testClass:String,instance:Object,methodDef:MethodDefinition,callback:Function=null):void{
-        var methodName:String = methodDef.name;
-        trace('running test in '+testClass+":"+methodName);
-        var varianceMetas:Array = methodDef.retrieveMetaDataByName("TestVariance");
-        
-        var method:Function = instance[methodName];
-        var preAssertCount:uint = Assert.assertionsMade;
-        var result:TestResult = new TestResult();
-        result.assertions = 0;
-        result.pass = true;
-        result.error = null;
-        result.testClass = testClass;
-        result.testMethod = methodName;
-
-        while (varianceMetas.length) {
-            var varianceMeta:MetaDataDefinition = varianceMetas.shift();
-            var varianceArgs:Array = varianceMeta.getArgsByKey("variance");
-            var i:uint=0, l:uint= varianceArgs.length;
-            if (l) {
-                result.hasVariance=true;
-                for(;i<l;i++) varianceArgs[i] = varianceArgs[i].value;
-                result.varianceTarget = varianceArgs.join(",");
-            }
-            if (result.hasVariance) {
-                var descriptionArgs:Array= varianceMeta.getArgsByKey("description");
-                if (descriptionArgs.length) result.varianceDescription = "";
-                while(descriptionArgs.length) {
-                    var description:MetaDataArgDefinition = descriptionArgs.shift();
-                    result.varianceDescription +=description.value;
-                    if (descriptionArgs.length) result.varianceDescription += ", ";
-                }
-            }
-        }
-        //run the test method
-        try {
-            method();
-        } catch (e:Error) {
-            result.pass=false;
-            result.error = e.name+":" + e.message;
-        }
-        result.assertions = Assert.assertionsMade - preAssertCount;
-        if (preAssertCount == Assert.assertionsMade) {
-            result.warning = "WARNING: This test method appears to have zero Assertions";
-        }
-        if (result.pass) _successCount++;
-        else _failCount++;
-        _successfulAssertions += result.assertions;
-        if (callback!=null) {
-            callback(result);
-        }
-    }
-
-}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/testshim/TestResult.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/testshim/TestResult.as b/manualtests/GenericTests/src/testshim/TestResult.as
deleted file mode 100644
index d9bc514..0000000
--- a/manualtests/GenericTests/src/testshim/TestResult.as
+++ /dev/null
@@ -1,56 +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 testshim {
-public class TestResult {
-    public function TestResult() {
-    }
-
-    public var testClass:String;
-
-    public var testMethod:String;
-
-    public var pass:Boolean;
-
-    public var assertions:uint;
-
-    public var error:String;
-
-    public var hasVariance:Boolean;
-
-    public var varianceTarget:String;
-
-    public var varianceDescription:String;
-    
-    public var warning:String;
-
-    public function toString(newline:String=null):String {
-        if (newline==null) newline="\n";
-        var s:String="";
-        var postFix:String = testMethod+" in "+testClass;
-        if (pass) {
-           s += "PASSED ("+assertions+" assertions made) ["+postFix+"]";
-        } else {
-            s += "FAILED ( at assertion "+assertions+" in test method) ["+postFix+"]"+newline;
-            s += "["+error+"]";
-        }
-        return s;
-    }
-
-}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/testsview/image/Flex.png
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/testsview/image/Flex.png b/manualtests/GenericTests/testsview/image/Flex.png
deleted file mode 100644
index cb68fec..0000000
Binary files a/manualtests/GenericTests/testsview/image/Flex.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/testsview/index.html
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/testsview/index.html b/manualtests/GenericTests/testsview/index.html
deleted file mode 100644
index 270b933..0000000
--- a/manualtests/GenericTests/testsview/index.html
+++ /dev/null
@@ -1,128 +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.
--->
-<!DOCTYPE html>
-<html>
-<head>
-	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-	<style>
-		.boxLeft { 
-			display:inline-block; 
-			width:50% ;
-			position:absolute; 
-			top:100px; 
-			bottom:15px; 
-			left:0px
-		}
-		.boxRight { 
-			display:inline-block; 
-			width:50% ;
-			position:absolute; 
-			top:100px; 
-			bottom:15px; 
-			right:0px
-		}
-		.pageStyles {
-			font-family: Arial,sans-serif;
-			color: #333;
-			background: #f5f5f5;
-			font-size: 14px;
-			line-height: 1.5;
-		}
-		h1 {
-			font-size: 28px;
-			line-height: 1.25;
-			font-weight: normal;
-		}
-		em {
-		  font-weight: bold;
-		}
-		.logo {
-			margin-right: 10px;
-			float: left;
-			width: 48px;
-			height: 48px;
-			border-radius: 50%;
-			border: 0;
-			margin: 0;
-			padding: 0;
-		}
-		.titleContent {
-			white-space:nowrap;
-		}
-	</style>
-	<script type="text/javascript">
-	
-	console.API;
-
-	if (typeof console._commandLineAPI !== 'undefined') {
-		console.API = console._commandLineAPI; //chrome
-	} else if (typeof console._inspectorCommandLineAPI !== 'undefined') {
-		console.API = console._inspectorCommandLineAPI; //Safari
-	} else if (typeof console.clear !== 'undefined') {
-		console.API = console;
-	}
-
-	function swapJSBuild() {
-		var button = document.getElementById("swapJsButton");
-		var JS_RELEASE = "JS-Release";
-		var JS_DEBUG = "JS-Debug";
-		var SWAP_TO_RELEASE = "Swap To "+JS_RELEASE;
-		var SWAP_TO_DEBUG = "Swap To "+JS_DEBUG;
-		var debug = "../bin/js-debug/index.html";
-		var release = "../bin/js-release/index.html";
-		var jsIframe = document.getElementById("jsIframe");
-		var status = document.getElementById("jsStatus");
-		if (button && jsIframe) {
-			var current = button.innerHTML;
-			switch (current) {
-				case SWAP_TO_RELEASE:
-					console.API.clear();
-					button.innerHTML = SWAP_TO_DEBUG;
-					jsIframe.src = release;		
-					status.innerHTML = "Currently showing <em>"+JS_RELEASE+"</em>";;				
-				break;
-				case SWAP_TO_DEBUG:
-					console.API.clear();
-					button.innerHTML = SWAP_TO_RELEASE;
-					jsIframe.src = debug;	
-					status.innerHTML = "Currently showing <em>"+JS_DEBUG+"</em>";	
-				break;
-			}
-		}
-	}
-	</script>
-</head>
-<body class="pageStyles">
-	<div>
-		<div >
-			<img class="logo" src="image/Flex.png" alt="Apache Flex logo">
-			<div class="titleContent">
-				<h1>FlexJS Framework Development Unit Tests</h1>
-			</div>
-		<div id="jsStatus" style="position: relative; display: inline-block;">Currently showing <em>JS-Debug</em></div>
-			<button id="swapJsButton" onclick="swapJSBuild()" type="button" class="quoteButton TextButton" style="position: relative; display: inline-block;">Swap To JS-Release</button>
-		</div>
-		<div class="boxLeft">
-			<iframe id="jsIframe" src="../bin/js-debug/index.html" frameborder="1" scrolling="no" height="100%" width="100%" align="left" ></iframe>
-		</div>
-		<div class="boxRight">
-			<iframe id="swfIframe"  src="../bin-debug/GenericTests.html" frameborder="1" scrolling="no" height="100%" width="100%" align="left" ></iframe>
-		</div>
-	</div>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/ImageTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/ImageTest/build.xml b/manualtests/ImageTest/build.xml
index 5b5fbfa..16bad87 100644
--- a/manualtests/ImageTest/build.xml
+++ b/manualtests/ImageTest/build.xml
@@ -23,48 +23,21 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="ImageTest" />
     
+ 	<property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
-
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/LanguageTests/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/LanguageTests/build.xml b/manualtests/LanguageTests/build.xml
index 6de5e8a..0e986cb 100644
--- a/manualtests/LanguageTests/build.xml
+++ b/manualtests/LanguageTests/build.xml
@@ -22,50 +22,25 @@
 <project name="languagetests" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="LanguageTests" />
+	
+	<property name="file_suffix" value="as" />
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compileas,build_example.compileasjs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/ListsTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/ListsTest/build.xml b/manualtests/ListsTest/build.xml
index e6d7c8b..4acc6da 100644
--- a/manualtests/ListsTest/build.xml
+++ b/manualtests/ListsTest/build.xml
@@ -25,47 +25,20 @@
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/ProxyTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/ProxyTest/build.xml b/manualtests/ProxyTest/build.xml
index 2e1bcb7..83084b6 100644
--- a/manualtests/ProxyTest/build.xml
+++ b/manualtests/ProxyTest/build.xml
@@ -23,50 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="ProxyTest" />
     
+    <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <!-- use this to add keep metadata option -->
-    <property name="theme_arg" value="-keep-as3-metadata+=Event" />
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/ReflectionTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/ReflectionTest/build.xml b/manualtests/ReflectionTest/build.xml
index d65e7a8..b9bfd2c 100644
--- a/manualtests/ReflectionTest/build.xml
+++ b/manualtests/ReflectionTest/build.xml
@@ -23,50 +23,22 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="ReflectionTest" />
     
+    <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <!-- use this to add keep metadata option -->
-    <property name="theme_arg" value="-keep-as3-metadata+=Event" />
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/RollEventsTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/RollEventsTest/build.xml b/manualtests/RollEventsTest/build.xml
index 767c856..3dedfed 100644
--- a/manualtests/RollEventsTest/build.xml
+++ b/manualtests/RollEventsTest/build.xml
@@ -23,48 +23,23 @@
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="RollEventsTest" />
     
+    <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
+
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/TLFEditTestFlexJS/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/TLFEditTestFlexJS/build.xml b/manualtests/TLFEditTestFlexJS/build.xml
index fc35c60..24985be 100644
--- a/manualtests/TLFEditTestFlexJS/build.xml
+++ b/manualtests/TLFEditTestFlexJS/build.xml
@@ -22,51 +22,25 @@
 <project name="TLFEditTestFlexJS" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="TLFEditTestFlexJS" />
+	
     <property name="swf.version" value="20" />
     
     <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/README.txt
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/README.txt b/manualtests/UnitTests/README.txt
new file mode 100644
index 0000000..98c2bae
--- /dev/null
+++ b/manualtests/UnitTests/README.txt
@@ -0,0 +1,61 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+DESCRIPTION
+
+The UnitTests application is a very basic form of unit testing primarily
+intended for FlexJS framework developers. It is a 'lite' version of a small portion of 
+Flexunit code to support basic assertion tests.
+
+This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX)
+into JavaScript and HTML and run without Flash.
+
+There is a convenience html page inside the top level testsview directory for hosting the tests side-by-side 
+that permits developers to refresh the test builds simultaneously and compare results in the browser, including the 
+ability to toggle between JS-Debug and JS-Release builds.
+While this is primarily intended for framework developers, it may be useful as a starting point
+for cross-compiled unit testing (during development only) in regular FlexJS projects.
+
+FRAMEWORK DEVELOPER NOTES
+To add new tests, follow the examples inside the flexUnitTests package, and add any new Test
+group or category level class (the classes directly inside flexUnitTests package) into the top 
+level TestClasses.as file. This should be all that is necessary to add new tests.
+
+MetaData
+[BeforeClass] -same as flexunit (typical: 'setupBeforClass')- runs a static method before the test class is instantiated
+[AfterClass] -same as flexunit (typical: 'tearDownAfterClass')- runs a static method after the test class has been processed
+[Before] -same as flexunit (typical: 'setup') - runs an instance method before the test class' test methods are processed
+[After] -same as flexunit (typical: 'tearDown') - runs an instance method after the test class' test methods are processed
+[Test] -same as flexunit (typical: 'testXXXX') - denotes a test method. No assumption about order of test methods being called should be made
+
+[TestVariance(variance="JS",description="Reason for variation in JS expected results")]
+The above is specific to this test app, and permits annotation of test methods where the expected results are different between compiler targets.
+The variance key in the meta data should be either "SWF" or "JS". This is the compiler target with the result that is considered to be different
+to what it ideally 'should be', but correct as per the current implementation of the framework. Usually this will be "JS". It indicates a known
+but currently acceptable difference between compiler targets.
+
+
+GENERAL NOTES
+
+In its first working version this app only supports synchronous simple assertions and 
+is intended to use test classes that are compatible with the flexunit tests that are 
+used in the full framework build. Future versions may include more advanced features.
+
+The cross-compilation to JavaScript often results in non-fatal warnings. Some of these warnings
+should be addressed in future releases of the Falcon JX compiler.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/build.xml b/manualtests/UnitTests/build.xml
new file mode 100644
index 0000000..68d82b3
--- /dev/null
+++ b/manualtests/UnitTests/build.xml
@@ -0,0 +1,58 @@
+<?xml version="1.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.
+
+-->
+
+
+<project name="GenericTests" default="main" basedir=".">
+    <property name="FLEXJS_HOME" location="../.."/>
+    <property name="example" value="UnitTests" />
+
+    <!-- adding flexuint style meta collection, and additional testing meta tags (Event,Bindable,TestMeta)-->
+    <property name="theme_arg" value="-keep-as3-metadata+=Test,BeforeClass,AfterClass,Before,After,TestVariance,Event,Bindable,TestMeta" />
+    <!-- adding flexuint style meta collection, and additional testing meta tags (Event,Bindable,TestMeta)-->
+    <property name="extlib_arg" value="-keep-code-with-metadata=Test,BeforeClass,AfterClass,Before,After,TestVariance,TestMeta" />
+    
+    <property file="${FLEXJS_HOME}/env.properties"/>
+    <property environment="env"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
+    <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+	
+	<!-- make ant src and output consistent with maven -->
+	<property name="maven_compat" value="true"/>
+    
+    <include file="${basedir}/../build_example.xml" />
+
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
+    </target>
+    
+    <target name="clean">
+        <delete dir="${basedir}/bin" failonerror="false" />
+        <delete dir="${basedir}/bin-debug" failonerror="false" />
+        <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
+	
+	<target name="examine" depends="build_example.get.browser">
+        <echo message="View the swf and js unit tests side-by-side"/>
+        <exec executable="${browser}" dir="${basedir}" failonerror="true">
+            <arg value="file:///${basedir}/testsview/index.html"/>
+        </exec>
+    </target>
+
+</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/README.txt
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/README.txt b/manualtests/UnitTests/src/README.txt
new file mode 100644
index 0000000..4ef6e3f
--- /dev/null
+++ b/manualtests/UnitTests/src/README.txt
@@ -0,0 +1,61 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+DESCRIPTION
+
+The GenericTests application is a very basic form of unit testing primarily
+intended for FlexJS framework developers. It is a 'lite' version of a small portion of 
+Flexunit code to support basic assertion tests.
+
+This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX)
+into JavaScript and HTML and run without Flash.
+
+There is a convenience html page for hosting the tests side-by-side that permits developers
+to refresh the test builds simultaneously and compare results in the browser, including the 
+ability to toggle between JS-Debug and JS-Release builds.
+While this is primarily intended for framework developers, it may be useful as a starting point
+for cross-compiled unit testing (during development only) in regular FlexJS projects.
+
+FRAMEWORK DEVELOPER NOTES
+To add new tests, follow the examples inside the flexUnitTests package, and add any new Test
+group or category level class (the classes directly inside flexUnitTests package) into the top 
+level TestClasses.as file. This should be all that is necessary to add new tests.
+
+MetaData
+[BeforeClass] -same as flexunit (typical: 'setupBeforClass')- runs a static method before the test class is instantiated
+[AfterClass] -same as flexunit (typical: 'tearDownAfterClass')- runs a static method after the test class has been processed
+[Before] -same as flexunit (typical: 'setup') - runs an instance method before the test class' test methods are processed
+[After] -same as flexunit (typical: 'tearDown') - runs an instance method after the test class' test methods are processed
+[Test] -same as flexunit (typical: 'testXXXX') - denotes a test method. No assumption about order of test methods being called should be made
+
+[TestVariance(variance="JS",description="Reason for variation in JS expected results")]
+The above is specific to this test app, and permits annotation of test methods where the expected results are different between compiler targets.
+The variance key in the meta data should be either "SWF" or "JS". This is the compiler target with the result that is considered to be different
+to what it ideally 'should be', but correct as per the current implementation of the framework. Usually this will be "JS". It indicates a known
+but currently acceptable difference between compiler targets.
+
+
+GENERAL NOTES
+
+In its first working version this app only supports synchronous simple assertions and 
+is intended to use test classes that are compatible with the flexunit tests that are 
+used in the full framework build. Future versions may include more advanced features.
+
+The cross-compilation to JavaScript often results in non-fatal warnings. Some of these warnings
+should be addressed in future releases of the Falcon JX compiler.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/config/compile-app-config.xml
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/config/compile-app-config.xml b/manualtests/UnitTests/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..00454bd
--- /dev/null
+++ b/manualtests/UnitTests/src/main/config/compile-app-config.xml
@@ -0,0 +1,25 @@
+<!--
+
+  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.
+
+-->
+<flex-config>
+    <js-output-optimization>
+        <optimization>skipFunctionCoercions</optimization>
+    </js-output-optimization>
+    <compiler>
+    </compiler>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/MyInitialView.mxml b/manualtests/UnitTests/src/main/flex/MyInitialView.mxml
new file mode 100644
index 0000000..83497e1
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/MyInitialView.mxml
@@ -0,0 +1,190 @@
+<?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.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+		 xmlns:js="library://ns.apache.org/flexjs/basic"
+		 xmlns:local="*"
+		 xmlns:acc="org.apache.flex.html.accessories.*"
+		 initComplete="runTests()"
+>
+
+	<fx:Style>
+		.title {
+			font-size: 16px;
+			font-weight: bold;
+		}
+		.body {
+			left:10px;
+			right:10px;
+		}
+	</fx:Style>
+
+	<fx:Script>
+		<![CDATA[
+		import org.apache.flex.html.Label;
+		import org.apache.flex.reflection.VariableDefinition;
+		import org.apache.flex.reflection.getDefinitionByName;
+		import org.apache.flex.reflection.describeType;
+		import org.apache.flex.reflection.TypeDefinition;
+
+		import testshim.FlexJSUnitTestRunner;
+		import testshim.TestResult;
+
+
+
+		private var _tests:Array;
+
+		public function runTests():void {
+			var label:Label;
+			var groups:Array = TestClasses.testClasses;
+			var spaces:String = PLATFORM == "JS" ? "&nbsp;&nbsp;&nbsp;" : "   ";
+			while (groups.length) {
+				var testGroupClass:Class = groups.shift() as Class;
+				var td:TypeDefinition = describeType(testGroupClass);
+				label = new Label();
+				label.text = "Running " + td.name + " Tests";
+				output.addElement(label);
+				var testClasses:Array = td.variables;
+				testClasses.sortOn("name");
+				var i:uint = 0, l:uint = testClasses.length;
+				if (l == 0) {
+					label = new Label();
+					label.text = spaces+ "[Zero tests detected]";
+					output.addElement(label);
+					continue;
+				}
+				for (; i < l; i++) {
+					var varDef:VariableDefinition = testClasses[i];
+
+					var testClass:Class = getDefinitionByName(varDef.type.qualifiedName) as Class;
+					fails = [];
+					passes = [];
+					variances = [];
+					warnings = [];
+					var runner:FlexJSUnitTestRunner = new FlexJSUnitTestRunner(testClass, onTestResult);
+					runner.runTests();
+					label = new Label();
+
+					label.text = "TEST: " + runner.testingName + spaces + "Passed:" + runner.successCount + ", Failed:" + runner.failCount + ", assertions made:" + runner.successfulAssertions;
+					label.style = {color: runner.failCount == 0 ? "green" : "red"};
+					output.addElement(label);
+					if (runner.failCount > 0 || fails.length) {
+						//show any failing test details
+						appendTestResults(fails);
+					}
+					if (variances.length) {
+						appendTestResults(variances);
+					}
+					if (warnings.length) {
+						appendTestResults(warnings);
+					}
+				}
+			}
+
+		}
+
+
+		private var fails:Array;
+		private var passes:Array;
+		private var variances:Array;
+		private var warnings:Array;
+		public function onTestResult(result:TestResult):void {
+			if (result.pass) passes.push(result);
+			else fails.push(result);
+
+			if (result.hasVariance && result.pass) {
+				if (result.varianceTarget.indexOf(PLATFORM) != -1) {
+					//variance applies to this target
+					variances.push(result);
+				}
+			}
+
+			if (result.warning!=null && result.pass && !result.hasVariance) {
+				// a test result that would otherwise indicate a pass, but has a warning
+				warnings.push(result);
+			}
+		}
+
+		public function appendTestResults(array:Array):void {
+			array = array.slice();
+			var spaces:String = "   ";
+			var newline:String = "\n" ;
+			while (array.length) {
+				var result:TestResult = array.shift();
+				var label:Label = new Label();
+				//label.x=10; <- fails in js, using 'spaces' below instead
+				var message:String = spaces + result.toString(newline +spaces);
+
+				if (result.hasVariance)
+					message = spaces + "VARIANCE:" + result.varianceDescription + newline + message ;
+				if (result.warning != null) {
+					message =  spaces + result.warning +newline +message;
+				}
+				if (PLATFORM == "JS") {
+					message = escapeForHtml(message);
+					var jsSpaces:String = spaces.split(" ").join("&nbsp;");
+					message = message.split(spaces).join(jsSpaces);
+				}
+
+				label.text = message;
+
+				if (result.pass) {
+					var showOrange:Boolean = false;
+					if (result.hasVariance || result.warning!=null) showOrange = true;
+					label.style = {color: showOrange ? 0xFFA500 : "green"};
+				} else label.style = {color: "red"};
+				output.addElement(label);
+			}
+		}
+
+		private static function escapeForHtml( string : String ) : String {
+			return  string.split("<").join("&lt;").split(">").join("&gt;").split("\n").join("<br/>");
+		}
+
+
+		private static function getPlatform():String {
+			try {
+				var check:* = getDefinitionByName("flash.system.Capabilities");
+			} catch (e:Error) {
+				return "JS";
+			}
+			//if this next reference to 'check' is not included, then the above try/catch code
+			// appears to be optimized away in js-release mode
+			//[this issue was added to ObservedBugs Tests]
+			if (check == null) {
+				return "JS";
+			}
+			return "SWF";
+		}
+
+		public static const PLATFORM:String = getPlatform();
+		]]>
+	</fx:Script>
+	<js:beads>
+		<js:ViewDataBinding/>
+	</js:beads>
+	<js:Group id="cont" height="50" className="body">
+		<js:Label text="{PLATFORM} Cross-compiled Unit Tests" className="title" />
+	</js:Group>
+	<js:Group id="output" height="700" y="50" className="body">
+		<js:beads>
+			<js:VerticalFlexLayout />
+		</js:beads>
+	</js:Group>
+</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/README.txt
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/README.txt b/manualtests/UnitTests/src/main/flex/README.txt
new file mode 100644
index 0000000..4ef6e3f
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/README.txt
@@ -0,0 +1,61 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+DESCRIPTION
+
+The GenericTests application is a very basic form of unit testing primarily
+intended for FlexJS framework developers. It is a 'lite' version of a small portion of 
+Flexunit code to support basic assertion tests.
+
+This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX)
+into JavaScript and HTML and run without Flash.
+
+There is a convenience html page for hosting the tests side-by-side that permits developers
+to refresh the test builds simultaneously and compare results in the browser, including the 
+ability to toggle between JS-Debug and JS-Release builds.
+While this is primarily intended for framework developers, it may be useful as a starting point
+for cross-compiled unit testing (during development only) in regular FlexJS projects.
+
+FRAMEWORK DEVELOPER NOTES
+To add new tests, follow the examples inside the flexUnitTests package, and add any new Test
+group or category level class (the classes directly inside flexUnitTests package) into the top 
+level TestClasses.as file. This should be all that is necessary to add new tests.
+
+MetaData
+[BeforeClass] -same as flexunit (typical: 'setupBeforClass')- runs a static method before the test class is instantiated
+[AfterClass] -same as flexunit (typical: 'tearDownAfterClass')- runs a static method after the test class has been processed
+[Before] -same as flexunit (typical: 'setup') - runs an instance method before the test class' test methods are processed
+[After] -same as flexunit (typical: 'tearDown') - runs an instance method after the test class' test methods are processed
+[Test] -same as flexunit (typical: 'testXXXX') - denotes a test method. No assumption about order of test methods being called should be made
+
+[TestVariance(variance="JS",description="Reason for variation in JS expected results")]
+The above is specific to this test app, and permits annotation of test methods where the expected results are different between compiler targets.
+The variance key in the meta data should be either "SWF" or "JS". This is the compiler target with the result that is considered to be different
+to what it ideally 'should be', but correct as per the current implementation of the framework. Usually this will be "JS". It indicates a known
+but currently acceptable difference between compiler targets.
+
+
+GENERAL NOTES
+
+In its first working version this app only supports synchronous simple assertions and 
+is intended to use test classes that are compatible with the flexunit tests that are 
+used in the full framework build. Future versions may include more advanced features.
+
+The cross-compilation to JavaScript often results in non-fatal warnings. Some of these warnings
+should be addressed in future releases of the Falcon JX compiler.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/TestClasses.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/TestClasses.as b/manualtests/UnitTests/src/main/flex/TestClasses.as
new file mode 100644
index 0000000..f7273c0
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/TestClasses.as
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+	//test groups
+	import flexUnitTests.*;
+
+
+	public class TestClasses 
+	{
+		
+		public static function get testClasses():Array {
+			return [
+						CoreTester,
+						ReflectionTester,
+						ObservedBugsTester,
+						JiraIssuesTester
+					];
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/UnitTests.mxml
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/UnitTests.mxml b/manualtests/UnitTests/src/main/flex/UnitTests.mxml
new file mode 100644
index 0000000..0db0af9
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/UnitTests.mxml
@@ -0,0 +1,39 @@
+<?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.
+//
+////////////////////////////////////////////////////////////////////////////////
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				   xmlns:local="*"
+				   xmlns:models="models.*"
+                   xmlns:controllers="controllers.*"
+				   xmlns:js="library://ns.apache.org/flexjs/basic" 		   
+				   >
+	<fx:Style>
+		@namespace js "library://ns.apache.org/flexjs/basic";
+		js|Application {
+			background-color:#ffffff ;
+		}
+	</fx:Style>
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	<js:initialView>
+		<local:MyInitialView />
+	</js:initialView>
+</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/CoreTester.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/CoreTester.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/CoreTester.as
new file mode 100644
index 0000000..9af36e3
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/CoreTester.as
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests
+{
+	import flexUnitTests.core.*
+
+    [Suite]
+    [RunWith("org.flexunit.runners.Suite")]
+    public class CoreTester
+    {
+        public function CoreTester()
+        {
+            // for JS, force-link these classes in the output
+            var arr:Array = [StrandTesterTest, BinaryDataTesterTest];
+        }
+        
+        // in JS, using a class as a type won't include the class in
+        // the output since types are not chcked in JS.  It is when
+        // the actual class is referenced that it will be included
+        // in the output.
+        // Is there a reason to use reflection to gather the set
+        // of tests?  I would think an array of tests would wokr
+        // better and allow you to define order.
+        public var strandTesterTest:StrandTesterTest;
+		public var binaryDataTesterTest:BinaryDataTesterTest;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/JiraIssuesTester.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/JiraIssuesTester.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/JiraIssuesTester.as
new file mode 100644
index 0000000..fc37533
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/JiraIssuesTester.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests
+{
+	import flexUnitTests.jira.*
+	
+    [Suite]
+    [RunWith("org.flexunit.runners.Suite")]
+    public class JiraIssuesTester
+    {
+        
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/ObservedBugsTester.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/ObservedBugsTester.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/ObservedBugsTester.as
new file mode 100644
index 0000000..11f62e3
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/ObservedBugsTester.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests
+{
+	import flexUnitTests.observedbugs.*
+	
+    [Suite]
+    [RunWith("org.flexunit.runners.Suite")]
+    public class ObservedBugsTester
+    {
+        public function ObservedBugsTester()
+        {
+            var arr:Array = [ObservedBugTests];
+        }
+        public var observedBugsTest1:ObservedBugTests;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/ReflectionTester.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/ReflectionTester.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/ReflectionTester.as
new file mode 100644
index 0000000..74c5b4d
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/ReflectionTester.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests
+{
+	import flexUnitTests.reflection.*;
+	
+    [Suite]
+    [RunWith("org.flexunit.runners.Suite")]
+    public class ReflectionTester
+    {
+        public function ReflectionTester()
+        {
+            // see notes in CoreTester
+            var arr:Array = [ReflectionTesterTest, ReflectionTesterTestUseCache, ReflectionTesterTestAlias];
+        }
+        
+        public var reflectionTesterCacheTest:ReflectionTesterTestUseCache;
+        public var reflectionTesterTest:ReflectionTesterTest;
+        
+        public var reflectionTesterAliasTest:ReflectionTesterTestAlias;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/core/BinaryDataTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/core/BinaryDataTesterTest.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/core/BinaryDataTesterTest.as
new file mode 100644
index 0000000..b10d18c
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/core/BinaryDataTesterTest.as
@@ -0,0 +1,567 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.core
+{
+
+
+    import org.apache.flex.utils.Endian;
+    import flexunit.framework.Assert;
+    import org.apache.flex.utils.BinaryData
+
+
+    public class BinaryDataTesterTest 
+	{
+
+		[Before]
+		public function setUp():void {
+		}
+
+		[After]
+		public function tearDown():void {
+		}
+
+		[BeforeClass]
+		public static function setUpBeforeClass():void {
+		}
+
+		[AfterClass]
+		public static function tearDownAfterClass():void {
+		}
+
+
+		//util check functions
+		private static function bytesMatchExpectedData(bd:BinaryData,expected:Array,offset:int=0):Boolean{
+			var len:uint = expected.length;
+			var end:uint=offset+len;
+			for (var i:int=offset;i<end;i++) {
+				var check:uint = bd.readByteAt(i);
+				if (expected[i-offset]!=check) {
+					// trace('failed at ',i,expected[i-offset],check);
+					return false;
+				}
+			}
+			return true;
+		}
+
+		private static function reversedBytesMatch(bd1:BinaryData,bd2:BinaryData,len:uint,offset:int=0):Boolean{
+			var end:uint=offset+len;
+			for (var i:int=offset;i<end;i++) {
+				if (bd1.readByteAt(i) != bd2.readByteAt(end-1-i)) return false;
+			}
+			return true;
+
+		}
+
+
+		[Test]
+		public function testBasicPositionAndLength():void
+		{
+			var ba:BinaryData = new BinaryData();
+
+			Assert.assertEquals("new Instance, position", 0, ba.position);
+			Assert.assertEquals("new Instance, length", 0, ba.length);
+
+			ba.position=100;
+			Assert.assertEquals("position change, position", 100, ba.position);
+			Assert.assertEquals("position change, length", 0, ba.length);
+			Assert.assertEquals("position change, length", 0, ba.bytesAvailable);
+
+			ba.length=100;
+			Assert.assertEquals("length change, position", 100, ba.position);
+			Assert.assertEquals("length change, length", 100, ba.length);
+
+			ba.length=50;
+			Assert.assertEquals("length change, position", 50, ba.position);
+			Assert.assertEquals("length change, length", 50, ba.length);
+
+
+		}
+
+		[Test]
+		public function testAdvancedPositionAndLength():void
+		{
+			var ba:BinaryData = new BinaryData();
+
+			ba.position=100;
+			ba.length=100;
+
+			ba.writeByteAt(49,255);
+			Assert.assertEquals("writeByteAt does not affect position",100, ba.position);
+			Assert.assertEquals("writeByteAt (internal) does not affect length",100, ba.length);
+
+			ba.readByteAt(48);
+			Assert.assertEquals("readByteAt does not affect position",100, ba.position);
+			Assert.assertEquals("readByteAt does not affect length",100, ba.length);
+
+			ba.writeByteAt(199,255);
+			Assert.assertEquals("writeByteAt (beyond length) does affect length",200, ba.length);
+			Assert.assertEquals("writeByteAt (beyond length) does not affect position",100, ba.position);
+
+			Assert.assertStrictlyEquals("out of range byte read request",0 ,ba.readByteAt(205));
+
+		}
+
+
+		[Test]
+		public function testUTFWritePosition():void
+		{
+			var ba:BinaryData = new BinaryData();
+			ba.writeUTF('This is a test');
+			//writeUTF
+			Assert.assertEquals("basic post-writeUTF position", 16, ba.position);
+			ba=new BinaryData();
+			ba.writeUTFBytes('This is a test');
+			//writeUTFBytes
+			Assert.assertEquals("basic post-writeUTFBytes position", 14, ba.position);
+
+			//overlapping
+			ba.position=5;
+			ba.writeUTFBytes('This is a test');
+			Assert.assertEquals("Advanced post-writeUTFBytes position (overlap)", 19, ba.position);
+
+		}
+
+		[Test]
+		public function testBooleanRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			ba.writeBoolean(true);
+			ba.writeBoolean(false);
+			ba.position = 0;
+			Assert.assertTrue(ba.readBoolean());
+			Assert.assertFalse(ba.readBoolean());
+		}
+
+		[Test]
+		public function testByteRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			ba.writeByte(255);
+			ba.writeByte(256);
+			ba.writeByte(-256);
+			ba.writeByte(-257);
+			ba.writeByte(-128);
+			ba.writeByte(128);
+			ba.writeByte(127);
+			ba.writeByte(-50);
+			ba.writeByte(50);
+			ba.position = 0;
+
+
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -1, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 0, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 0, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -1, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -128, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -128, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 127, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -50, ba.readByte());
+			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 50, ba.readByte());
+		}
+
+
+		[Test]
+		public function testUnsignedByteRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			ba.writeByte(255);
+			ba.writeByte(256);
+			ba.writeByte(-256);
+			ba.writeByte(-257);
+			ba.writeByte(-128);
+			ba.writeByte(128);
+			ba.writeByte(127);
+			ba.writeByte(-50);
+			ba.writeByte(50);
+			ba.position = 0;
+			//check read values
+
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 255, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 0, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 0, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 255, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 128, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 128, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 127, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 206, ba.readUnsignedByte());
+			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 50, ba.readUnsignedByte());
+		}
+
+
+		[Test]
+		public function testBasicEndian():void
+		{
+
+			var systemEndian:String = Endian.systemEndian;
+			//check we have a decisive systemEndian detection
+			Assert.assertNotNull(systemEndian );
+
+
+			var ba:BinaryData = new BinaryData();
+			var defaultEndian:String = ba.endian;
+
+			var alternateEndian:String = (defaultEndian == Endian.BIG_ENDIAN) ? Endian.LITTLE_ENDIAN : Endian.BIG_ENDIAN;
+			var expected:Object ={};
+			expected[Endian.BIG_ENDIAN] = 218038271;
+			expected[Endian.LITTLE_ENDIAN] = 4294966796;
+			var bytes:Array = [12, 254, 255, 255];
+			for each(var byte:uint in bytes) ba.writeByte(byte);
+			ba.position = 0;
+
+			Assert.assertEquals("testing endian:"+defaultEndian, expected[defaultEndian] , ba.readUnsignedInt());
+
+			ba.position = 0;
+			ba.endian = alternateEndian;
+			var result:uint =  ba.readUnsignedInt();
+
+			Assert.assertEquals("testing endian:"+alternateEndian, expected[alternateEndian], result);
+
+			ba.position = 0;
+			ba.endian = defaultEndian;
+			Assert.assertEquals("testing endian:"+defaultEndian, int(expected[defaultEndian]), ba.readInt());
+
+			ba.position = 0;
+			ba.endian = alternateEndian;
+			Assert.assertEquals("testing endian:"+alternateEndian, int(expected[alternateEndian]), ba.readInt());
+
+			var leBA:BinaryData = new BinaryData();
+			leBA.endian = Endian.LITTLE_ENDIAN;
+			var beBA:BinaryData = new BinaryData();
+			beBA.endian = Endian.BIG_ENDIAN;
+			//int writing
+			beBA.writeInt(-500);
+			leBA.writeInt(-500);
+			//check they represent reversed byte sequence
+			Assert.assertTrue(reversedBytesMatch(beBA,leBA,4));
+			beBA.position=0;
+			leBA.position=0;
+			//check they each read back to the same uint value
+			Assert.assertEquals('big endian',4294966796,beBA.readUnsignedInt());
+			Assert.assertEquals('little endian',4294966796,leBA.readUnsignedInt());
+
+			beBA.position=0;
+			leBA.position=0;
+			//uint writing
+			beBA.writeUnsignedInt(4294966796);
+			leBA.writeUnsignedInt(4294966796);
+			//check they represent reversed byte sequence
+			Assert.assertTrue(reversedBytesMatch(beBA,leBA,4));
+			beBA.position=0;
+			leBA.position=0;
+			//check they each read back to the same uint value
+			Assert.assertEquals('big endian',4294966796,beBA.readUnsignedInt());
+			Assert.assertEquals('little endian',4294966796,leBA.readUnsignedInt());
+
+
+			beBA.position=0;
+			leBA.position=0;
+
+			//check they each read back to the same int value
+			Assert.assertEquals('big endian',-500,beBA.readInt());
+			Assert.assertEquals('little endian',-500,leBA.readInt());
+
+
+			beBA.position=0;
+			leBA.position=0;
+
+			//short writing
+			beBA.writeShort(-500);
+			leBA.writeShort(-500);
+			//check they represent reversed byte sequence
+			Assert.assertTrue(reversedBytesMatch(beBA,leBA,2));
+			beBA.position=0;
+			leBA.position=0;
+			//check they each read back to the same uint value
+			Assert.assertEquals('big endian',65036,beBA.readUnsignedShort());
+			Assert.assertEquals('little endian',65036,leBA.readUnsignedShort());
+
+
+			beBA.position=0;
+			leBA.position=0;
+
+			//check they each read back to the same int value
+			Assert.assertEquals('big endian',-500,beBA.readShort());
+			Assert.assertEquals('little endian',-500,leBA.readShort());
+
+		}
+
+
+		[Test]
+		public function testUTFRoundtripping():void
+		{
+
+			//test big-endian round-tripping
+			var ba:BinaryData = new BinaryData();
+			ba.endian = Endian.BIG_ENDIAN;
+			ba.writeUTF('This is a test');
+			//writeUTF
+			Assert.assertEquals("basic post-writeUTF position", 16, ba.position);
+			ba.position = 0;
+			Assert.assertEquals("utf big endian round-tripping", 'This is a test', ba.readUTF());
+
+			ba = new BinaryData();
+			//test little-endian round-tripping
+			ba.endian = Endian.LITTLE_ENDIAN;
+			ba.writeUTF('This is a test');
+			//writeUTF
+			Assert.assertEquals("basic post-writeUTF position", 16, ba.position);
+			ba.position = 0;
+			Assert.assertEquals("utf big endian round-tripping", 'This is a test', ba.readUTF());
+
+		}
+
+
+		[Test]
+		public function testShortRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			//test LITTLE_ENDIAN round-tripping
+			ba.endian = Endian.LITTLE_ENDIAN;
+			ba.writeShort(255);
+			ba.writeShort(-50);
+			ba.writeShort(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 6, ba.length);
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 255, ba.readShort());
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", -50, ba.readShort());
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 50, ba.readShort());
+
+			//test BIG_ENDIAN round-tripping
+
+			ba.position = 0;
+			ba.endian = Endian.BIG_ENDIAN ;
+			ba.writeShort(255);
+			ba.writeShort(-50);
+			ba.writeShort(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 6, ba.length);
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 255, ba.readShort());
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", -50, ba.readShort());
+			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 50, ba.readShort());
+		}
+
+
+		[Test]
+		public function testUnsignedShortRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			//test LITTLE_ENDIAN round-tripping
+			ba.endian = Endian.LITTLE_ENDIAN;
+			ba.writeShort(255);
+			ba.writeShort(-50);
+			ba.writeShort(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 6, ba.length);
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 255, ba.readUnsignedShort());
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 65486, ba.readUnsignedShort());
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 50, ba.readUnsignedShort());
+
+			//test BIG_ENDIAN round-tripping
+
+			ba.position = 0;
+			ba.endian = Endian.BIG_ENDIAN ;
+			ba.writeShort(255);
+			ba.writeShort(-50);
+			ba.writeShort(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 6, ba.length);
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 255, ba.readUnsignedShort());
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 65486, ba.readUnsignedShort());
+			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 50, ba.readUnsignedShort());
+		}
+
+		[Test]
+		public function testIntRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			//test LITTLE_ENDIAN round-tripping
+			ba.endian = Endian.LITTLE_ENDIAN;
+			ba.writeInt(65536);
+			ba.writeInt(-50);
+			ba.writeInt(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 65536, ba.readInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", -50, ba.readInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readInt());
+
+			//test BIG_ENDIAN round-tripping
+
+			ba.position = 0;
+			ba.endian = Endian.BIG_ENDIAN ;
+			ba.writeInt(65536);
+			ba.writeInt(-50);
+			ba.writeInt(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 65536, ba.readInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", -50, ba.readInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readInt());
+		}
+
+
+		[Test]
+		public function testUnsignedIntRoundTripping():void
+		{
+			var ba:BinaryData = new BinaryData();
+			//test LITTLE_ENDIAN round-tripping
+			ba.endian = Endian.LITTLE_ENDIAN;
+			ba.writeUnsignedInt(65536);
+			ba.writeUnsignedInt(-50);
+			ba.writeUnsignedInt(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping",65536, ba.readUnsignedInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 4294967246, ba.readUnsignedInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readUnsignedInt());
+
+			//test BIG_ENDIAN round-tripping
+
+			ba.position = 0;
+			ba.endian = Endian.BIG_ENDIAN ;
+			ba.writeUnsignedInt(65536);
+			ba.writeUnsignedInt(-50);
+			ba.writeUnsignedInt(50);
+			ba.position = 0;
+
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping",65536, ba.readUnsignedInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 4294967246, ba.readUnsignedInt());
+			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readUnsignedInt());
+		}
+
+		[Test]
+		public function testFloatRoundTripping():void
+		{
+			var ble:BinaryData = new BinaryData();
+			//test LITTLE_ENDIAN round-tripping
+			ble.endian = Endian.LITTLE_ENDIAN;
+			ble.writeFloat(86.54);
+
+
+			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, ble.length);
+			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, ble.position);
+			//check bytes to account for precision loss between double and float comparisons
+			Assert.assertTrue("Error testing post writeFloat/readFloat round-tripping", bytesMatchExpectedData(ble,[123,20,173,66]));
+
+			var bbe:BinaryData = new BinaryData();
+			//test BIG_ENDIAN round-tripping
+			bbe.endian = Endian.BIG_ENDIAN;
+			bbe.writeFloat(86.54);
+
+
+			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, bbe.length);
+			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, bbe.position);
+			//check bytes to account for precision loss between double and float comparisons
+			Assert.assertTrue("Error testing post writeFloat/readFloat round-tripping", bytesMatchExpectedData(bbe,[66,173,20,123]));
+
+
+		}
+
+
+		[Test]
+		public function testDoubleRoundTripping():void
+		{
+
+			var ble:BinaryData = new BinaryData();
+			//test LITTLE_ENDIAN round-tripping
+			ble.endian = Endian.LITTLE_ENDIAN;
+			ble.writeDouble(86.54);
+
+
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, ble.length);
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, ble.position);
+
+			//check bytes
+			Assert.assertTrue("Error testing post writeDouble/readDouble round-tripping", bytesMatchExpectedData(ble,[195,245,40,92,143,162,85,64]));
+
+			var bbe:BinaryData = new BinaryData();
+			//test BIG_ENDIAN round-tripping
+			bbe.endian = Endian.BIG_ENDIAN;
+			bbe.writeDouble(86.54);
+
+
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, bbe.length);
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, bbe.position);
+			//check bytes
+
+			Assert.assertTrue("Error testing post writeDouble/readDouble round-tripping", bytesMatchExpectedData(bbe,[64,85,162,143,92,40,245,195]));
+
+
+			ble.position = 0;
+			bbe.position = 0;
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 86.54, bbe.readDouble());
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 86.54, ble.readDouble());
+
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, bbe.position);
+			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, ble.position);
+
+		}
+
+
+
+		[Test]
+		public function testWriteBytes():void
+		{
+			var ba:BinaryData = new BinaryData();
+			for (var i:int=0;i<50;i++) ba.writeByte(i);
+
+
+			var newBa:BinaryData = new BinaryData();
+			newBa.writeBytes(ba);
+
+			Assert.assertEquals("BinaryData writeBytes: length", 50, newBa.length);
+			Assert.assertEquals("BinaryData writeBytes: position", 50, newBa.position);
+
+			for (i=0;i<50;i++) {
+				Assert.assertEquals("BinaryData writeBytes: content check", i, newBa.array[i]);
+			}
+
+
+
+		}
+
+		[Test]
+		public function testReadBytes():void
+		{
+			var ba:BinaryData = new BinaryData();
+			for (var i:int=0;i<50;i++) ba.writeByte(i);
+			ba.position=0;
+			var newBa:BinaryData = new BinaryData();
+
+			ba.readBytes(newBa,5,10);
+			Assert.assertEquals("BinaryData readBytes: position", 10, ba.position);
+			Assert.assertEquals("BinaryData readBytes: length", 15, newBa.length);
+			Assert.assertEquals("BinaryData readBytes: position", 0, newBa.position);
+			var expected:Array = [0,0,0,0,0,0,1,2,3,4,5,6,7,8,9];
+			for (i=5;i<15;i++) {
+				Assert.assertEquals("BinaryData readBytes: content check", expected[i], newBa.array[i]);
+			}
+		}
+
+
+	}
+}


[11/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - -refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts. -renamed GenericTests to UnitTests and fixed some display issu

Posted by pe...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/build.xml b/manualtests/build.xml
index fc658f3..99f9b76 100644
--- a/manualtests/build.xml
+++ b/manualtests/build.xml
@@ -74,7 +74,9 @@
     </target>
     
     <target name="compile" description="Compile Examples" >
+		<ant dir="${basedir}/BubbleTest"/>
         <ant dir="${basedir}/ContainerTest"/>
+		<ant dir="${basedir}/CursorTest"/>
 		<ant dir="${basedir}/DateChooserExample"/>
         <ant dir="${basedir}/EffectsExample"/>
         <ant dir="${basedir}/FlexJSTest_basic"/>
@@ -87,8 +89,11 @@
         <ant dir="${basedir}/ImageTest"/>
         <ant dir="${basedir}/LanguageTests"/>
         <ant dir="${basedir}/ListsTest"/>
+		<ant dir="${basedir}/ProxyTest"/>
+		<ant dir="${basedir}/ReflectionTest"/>
         <ant dir="${basedir}/RollEventsTest"/>
-        <ant dir="${basedir}/ReflectionTest"/>
+        <ant dir="${basedir}/TLFEditTestFlexJS"/>
+		<ant dir="${basedir}/UnitTests" />
         <ant dir="${basedir}/XMLTest"/>
     </target>
 	   
@@ -103,9 +108,10 @@
     </target>
     
     <target name="clean" description="Cleans all SWCs and their resource bundles">
+        <ant dir="${basedir}/BubbleTest" target="clean"/>
         <ant dir="${basedir}/ContainerTest" target="clean"/>
-        <ant dir="${basedir}/DataBindingTestbed" target="clean"/>
-        <ant dir="${basedir}/DateChooserExample" target="clean"/>
+		<ant dir="${basedir}/CursorTest" target="clean"/>
+		<ant dir="${basedir}/DateChooserExample" target="clean"/>
         <ant dir="${basedir}/EffectsExample" target="clean"/>
         <ant dir="${basedir}/FlexJSTest_basic" target="clean"/>
         <ant dir="${basedir}/FlexJSTest_createjs" target="clean"/>
@@ -114,12 +120,14 @@
         <ant dir="${basedir}/FlexJSTest_Panel" target="clean"/>
         <ant dir="${basedir}/FlexJSTest_SVG" target="clean"/>
         <ant dir="${basedir}/FormExample" target="clean"/>
-        <ant dir="${basedir}/FormatExample" target="clean"/>
         <ant dir="${basedir}/ImageTest" target="clean"/>
         <ant dir="${basedir}/LanguageTests" target="clean"/>
         <ant dir="${basedir}/ListsTest" target="clean"/>
+		<ant dir="${basedir}/ProxyTest" target="clean"/>
+		<ant dir="${basedir}/ReflectionTest" target="clean"/>
         <ant dir="${basedir}/RollEventsTest" target="clean"/>
-        <ant dir="${basedir}/ReflectionTest" target="clean"/>
+        <ant dir="${basedir}/TLFEditTestFlexJS" target="clean"/>
+		<ant dir="${basedir}/UnitTests" target="clean"/>
         <ant dir="${basedir}/XMLTest" target="clean"/>
     </target>
     

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/build_example.xml
----------------------------------------------------------------------
diff --git a/manualtests/build_example.xml b/manualtests/build_example.xml
index 62d98b6..586ac49 100644
--- a/manualtests/build_example.xml
+++ b/manualtests/build_example.xml
@@ -20,82 +20,243 @@
 
 <project name="build_example" basedir=".">
     
+    <condition property="FALCON_HOME" value="${env.FALCON_HOME}">
+        <and>
+            <not>
+                <isset property="FALCON_HOME" />
+            </not>
+            <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" type="file" />
+        </and>
+    </condition>
+
+    <condition property="FALCON_HOME" value="${FLEXJS_HOME}/../flex-falcon/compiler">
+        <and>
+            <not>
+                <isset property="FALCON_HOME" />
+            </not>
+            <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" type="file" />
+        </and>
+    </condition>
+
+    <condition property="FALCON_HOME" value="${FLEXJS_HOME}">
+        <and>
+            <not>
+                <isset property="FALCON_HOME" />
+            </not>
+            <available file="${FLEXJS_HOME}/lib/falcon-mxmlc.jar" type="file" />
+        </and>
+    </condition>
+
+    <condition property="FALCONJX_HOME" value="${env.FALCONJX_HOME}">
+        <and>
+            <not>
+                <isset property="FALCONJX_HOME" />
+            </not>
+            <available file="${env.FALCONJX_HOME}/lib/jsc.jar" type="file" />
+        </and>
+    </condition>
+
+    <condition property="FALCONJX_HOME" value="${FLEXJS_HOME}/js">
+        <and>
+            <not>
+                <isset property="FALCONJX_HOME" />
+            </not>
+            <available file="${FLEXJS_HOME}/js/lib/jsc.jar" type="file" />
+        </and>
+    </condition>
+
+    <condition property="FALCONJX_HOME" value="${FLEXJS_HOME}/../flex-falcon/compiler-jx">
+        <and>
+            <not>
+                <isset property="FALCONJX_HOME" />
+            </not>
+            <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" type="file" />
+        </and>
+    </condition>
+
+    <condition property="GOOG_HOME" value="${env.GOOG_HOME}">
+        <and>
+            <not>
+                <isset property="GOOG_HOME" />
+            </not>
+            <available file="${env.GOOG_HOME}/closure/goog/base.js" type="file" />
+        </and>
+    </condition>
+
+    <condition property="GOOG_HOME" value="${FLEXJS_HOME}/js/lib/google/closure-library">
+        <and>
+            <not>
+                <isset property="GOOG_HOME" />
+            </not>
+            <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js" type="file" />
+        </and>
+    </condition>
+
+    <condition property="adl" value="adl.exe">
+        <os family="windows"/>
+    </condition>
+
+    <condition property="adl" value="adl">
+        <os family="mac"/>
+    </condition>
+
+    <condition property="runtime" value="win">
+        <os family="windows"/>
+    </condition>
+
+    <condition property="runtime" value="mac">
+        <os family="mac"/>
+    </condition>
+    
+    <property name="swf.version" value="14" />
+	
+	<target name="get.browser" >
+        <condition property="browser" value="${env.ProgramFiles}/Mozilla Firefox/firefox.exe">
+            <and>
+                <os family="windows"/>
+                <available file="${env.ProgramFiles}/Mozilla Firefox/firefox.exe"
+                type="file" />
+            </and>
+        </condition>
+        <condition property="browser" value="${env.ProgramFiles(x86)}/Mozilla Firefox/firefox.exe">
+            <and>
+                <os family="windows"/>
+                <available file="${env.ProgramFiles(x86)}/Mozilla Firefox/firefox.exe"
+                type="file" />
+            </and>
+        </condition>
+        <condition property="browser" value="C:/Program Files/Internet Explorer/iexplore.exe">
+            <and>
+                <os family="windows"/>
+                <available file="C:/Program Files/Internet Explorer/iexplore.exe"
+                    type="file" />
+            </and>
+        </condition>
+        <condition property="browser" value="/Applications/Firefox.app/Contents/MacOS/Firefox">
+            <and>
+                <os family="mac"/>
+                <available file="/Applications/Firefox.app/Contents/MacOS/Firefox"
+                type="file" />
+            </and>
+        </condition>
+        <condition property="browser" value="/Applications/Safari.app/Contents/MacOS/Safari">
+            <and>
+                <os family="mac"/>
+                <available file="/Applications/Safari.app/Contents/MacOS/Safari"
+                type="file" />
+            </and>
+        </condition>
+        <fail message="No browser found.  See build_example.xml or set -Dbrowser=&lt;path to browser&gt;"
+            unless="browser"/>
+    </target>
+    
     <path id="lib.path">
       <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
+      <fileset dir="${FALCONJX_HOME}/lib" includes="jsc.jar"/>
     </path>
+	
     
     <target name="compile" description="Compiles ${example}">
-        <echo message="Compiling ${example}.swf"/>
+		<echo message="Compiling ${example}.swf"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
-        
-        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
+		<condition property="srcDir" value="${basedir}/src" else="${basedir}/src/main/flex">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<condition property="destDir" value="${basedir}/bin-debug" else="${basedir}/target/bin-debug">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<condition property="jsDir" value="${basedir}" else="${basedir}/target/javascript">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<available file="${srcDir}/../config/compile-app-config.xml"
+            type="file"
+            property="optional_arg" value="-load-config+=&quot;${srcDir}/../config/compile-app-config.xml&quot;" />
+
+		<condition property="targets" value="SWF,JSFlex" else="SWF">
+			<not>
+				<isset property="no.js"/>
+			</not>
+		</condition>
+		 <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+        <property name="config_arg" value="flex" />
+        <property name="file_suffix" value="mxml" />
+        <property name="optional_arg" value="-define+=CONFIG::dummy,true" />
         <!-- this is a dummy var placeholder in case some example needs to define a theme
             then they would set theme_arg=-theme=<path to theme> -->
         <property name="theme_arg" value="-define+=CONFIG::theme,false" />
-        <mxmlc fork="true"
-            file="${basedir}/src/${example}.mxml"
-            output="${basedir}/bin-debug/${example}.swf">
+		<mxmlc fork="true"
+               debug="true"
+               configname="${config_arg}"
+               swf-version="${swf.version}"
+               closure-lib="${GOOG_HOME}"
+               file="${srcDir}/${example}.${file_suffix}"
+			   output="${destDir}/${example}.swf">
             <jvmarg line="${mxmlc.jvm.args}"/>
-            <arg value="+flexlib=${basedir}/frameworks" />
-            <arg value="-debug" />
-            <arg value="${theme_arg}" />
-            <arg value="-swf-version=${swf.version}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-            <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-            <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-            <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
+            <arg line="${optional_arg}" />
+			<arg value="${theme_arg}" />
+			<arg value="-targets=${targets}" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
+			<arg value="-js-output=${jsDir}" />
         </mxmlc>
-        
-        <html-wrapper
-        height="100%"
-        width="100%"
-        bgcolor="#ffffff"
-        name="${example}"
-        versionmajor="11"
-        versionminor="1"
-        versionrevision="0"
-        output="${basedir}/bin-debug"/>
-        
-        <copy todir="${basedir}/bin-debug">
-            <fileset dir="${basedir}/src">
+
+        <antcall target="build_example.wrapper">
+			<param name="output" value="${destDir}"/>
+		</antcall>
+		
+        <copy todir="${destDir}">
+            <fileset dir="${srcDir}">
                 <include name="**/*.png" />
                 <include name="**/*.jpg" />
             </fileset>
         </copy>
-        <copy todir="${basedir}/bin-debug/fonts">
+        <copy todir="${destDir}/fonts">
             <fileset dir="${FLEX_HOME}/frameworks/fonts">
                 <include name="**/*.swf" />
             </fileset>
         </copy>
+		
+		<antcall target="build_example.compile-js-release"/>
+		<antcall target="build_example.copy-app-xml" />
     </target>
     
     <target name="compileair" description="Compiles ${example}">
         <echo message="Compiling ${example}.swf"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
+		<condition property="srcDir" value="${basedir}/src" else="${basedir}/src/main/flex">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<condition property="destDir" value="${basedir}/bin-debug" else="${basedir}/target/bin-debug">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
         
         <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
         <property name="theme_arg" value="-define=CONFIG::theme,false" />
         <mxmlc fork="true"
-            file="${basedir}/src/${example}.mxml"
-            output="${basedir}/bin-debug/${example}.swf">
+            file="${srcDir}/${example}.mxml"
+            output="${destDir}/${example}.swf">
             <jvmarg line="${mxmlc.jvm.args}"/>
             <arg value="+flexlib=${basedir}/frameworks" />
             <arg value="+configname=air" />
             <arg value="-debug" />
             <arg value="${theme_arg}" />
             <arg value="-target-player=${playerglobal.version}" />
-            <arg value="-swf-version=${swf.version}" />
+            <arg value="-swf-version=${swfVersion}" />
             <arg value="-compiler.mxml.children-as-data" />
             <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
             <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
@@ -108,13 +269,13 @@
             <arg value="-closure-lib=${GOOG_HOME}" />
         </mxmlc>
         
-        <copy todir="${basedir}/bin-debug">
-            <fileset dir="${basedir}/src">
+        <copy todir="${destDir}">
+            <fileset dir="${srcDir}">
                 <include name="*.png" />
             </fileset>
         </copy>
-        <copy todir="${basedir}/bin-debug">
-            <fileset dir="${basedir}">
+        <copy todir="${destDir}">
+            <fileset dir="${srcDir}">
                 <include name="*-app.xml" />
             </fileset>
         </copy>
@@ -123,14 +284,23 @@
     <target name="compileas" description="Compiles ${example}">
         <echo message="Compiling ${example}.swf"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        
+        <condition property="srcDir" value="${basedir}/src" else="${basedir}/src/main/flex">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<condition property="destDir" value="${basedir}/bin-debug" else="${basedir}/target/bin-debug">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
         <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
         <property name="theme_arg" value="-define=CONFIG::theme,false" />
         <mxmlc fork="true"
-            file="${basedir}/src/${example}.as"
-            output="${basedir}/bin-debug/${example}.swf">
+            file="${srcDir}/${example}.as"
+            output="${destDir}/${example}.swf">
             <jvmarg line="${mxmlc.jvm.args}"/>
             <arg value="+flexlib=${basedir}/frameworks" />
             <arg value="-debug" />
@@ -149,157 +319,74 @@
             <arg value="-closure-lib=${GOOG_HOME}" />
         </mxmlc>
         
-        <html-wrapper
-        height="300"
-        width="400"
-        bgcolor="#ffffff"
-        name="${example}"
-        versionmajor="11"
-        versionminor="1"
-        versionrevision="0"
-        output="${basedir}/bin-debug"/>
-        
+		<antcall target="build_example.wrapper">
+			<param name="output" value="${destDir}"/>
+		</antcall>   
     </target>
-    
-    <target name="compilejs" description="Cross-compiles ${example}" unless="no.js">
-        <echo message="Compiling ${example}.js"/>
+ 
+	
+	 <target name="compile-js-release"  unless="no.js">
+		<echo message="Compiling ${example}.js"/>
         <echo message="FLEX_HOME: ${FLEX_HOME}"/>
         <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
         <echo message="GOOG_HOME: ${GOOG_HOME}"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
-        
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
+        <property name="js.release.target" value="JSFlex" />
+		<property name="extlib_arg" value="-define=CONFIG::extlib,false" />
+		<condition property="srcDir" value="${basedir}/src" else="${basedir}/src/main/flex">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<condition property="destDir" value="${basedir}" else="${basedir}/target">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+		<condition property="jsDir" value="${basedir}" else="${basedir}/target/javascript">
+			<not>
+				<isset property="maven_compat"/>
+			</not>
+		</condition>
+        <mxmlc fork="true"
+            debug="false"
+             configname="${config_arg}"
+               swf-version="${swf.version}"
+               closure-lib="${GOOG_HOME}"
+               file="${srcDir}/${example}.${file_suffix}">
             <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="-debug=false" />
-            <arg value="${theme_arg}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-            <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-            <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-            <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" />
-            <arg value="${extlib_arg}" />
-            <arg value="-remove-circulars" />
-            <arg value="-define=COMPILE::SWF,false" />
+            <arg line="${optional_arg}" />
+			<arg value="${theme_arg}" />
+			<arg value="${extlib_arg}" />
+			<arg value="-define=COMPILE::SWF,false" />
             <arg value="-define=COMPILE::JS,true" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
-            <arg value="${basedir}/src/${example}.mxml" />
-        </java>
-        <fail>
-            <condition>
-                <not>
-                    <or>
-                        <equals arg1="${errorCode}" arg2="0" />
-                        <equals arg1="${errorCode}" arg2="2" />
-                    </or>
-                </not>
-            </condition>
-        </fail>
-    </target>
-    
-    <target name="compilejsair" description="Cross-compiles ${example}" unless="no.js">
-        <echo message="Compiling ${example}.js"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
-        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
-        
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="+configname=air" />
-            <arg value="-debug" />
-            <arg value="${theme_arg}" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-            <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-            <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-            <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
+			<arg value="-targets=${js.release.target}" />
             <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" />
-            <arg value="${extlib_arg}" />
-            <arg value="-remove-circulars" />
-            <arg value="-define=COMPILE::SWF,false" />
-            <arg value="-define=COMPILE::JS,true" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
-            <arg value="${basedir}/src/${example}.mxml" />
-        </java>
-        <fail>
-            <condition>
-                <not>
-                    <or>
-                        <equals arg1="${errorCode}" arg2="0" />
-                        <equals arg1="${errorCode}" arg2="2" />
-                    </or>
-                </not>
-            </condition>
-        </fail>
+			<arg value="-js-output=${jsDir}" />
+		</mxmlc>
     </target>
-    
-    <target name="compileasjs" description="Cross-compiles ${example}" unless="no.js">
-        <echo message="Compiling ${example}.js"/>
-        <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
-        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
-        <property name="theme_arg" value="-define=CONFIG::theme,false" />
-        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
-        
-        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
-            fork="true">
-            <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks"/>
-            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
-            <arg value="-debug" />
-            <arg value="${theme_arg}" />
-            <arg value="-define=CONFIG::as_only,false" />
-            <arg value="-define=CONFIG::js_only,true" />
-            <arg value="-compiler.mxml.children-as-data" />
-            <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
-            <arg value="-compiler.binding-value-change-event-type=valueChange" />
-            <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
-            <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
-            <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
-            <arg value="+playerglobal.version=${playerglobal.version}" />
-            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
-            <arg value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" />
-            <arg value="${extlib_arg}" />
-            <arg value="-remove-circulars" />
-            <arg value="-define=COMPILE::SWF,false" />
-            <arg value="-define=COMPILE::JS,true" />
-            <arg value="-js-output-type=FLEXJS" />
-            <arg value="-closure-lib=${GOOG_HOME}" />
-            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
-            <arg value="${basedir}/src/${example}.as" />
-        </java>
-        <fail>
-            <condition>
-                <not>
-                    <or>
-                        <equals arg1="${errorCode}" arg2="0" />
-                        <equals arg1="${errorCode}" arg2="2" />
-                    </or>
-                </not>
-            </condition>
-        </fail>
+	
+	<target name="check-air">
+        <condition property="is.air" value="true">
+            <equals arg1="${config_arg}" arg2="air" />
+        </condition>
+    </target>
+	
+	<target name="wrapper" depends="check-air" unless="is.air">
+		<property name="output" value="${basedir}/bin-debug"/>
+        <html-wrapper
+        height="100%"
+        width="100%"
+        bgcolor="#ffffff"
+        name="${example}"
+        versionmajor="11"
+        versionminor="1"
+        versionrevision="0"
+        output="${output}"/>
+    </target>
+	
+	<target name="copy-app-xml" depends="check-air" if="is.air">
+        <copy toDir="${basedir}/bin-debug" file="${basedir}/${example}-app.xml" />
+        <copy toDir="${basedir}/bin-release" file="${basedir}/${example}-app.xml" />
     </target>
     
     <macrodef name="html-wrapper">
@@ -387,5 +474,86 @@
             </replace>
         </sequential>
     </macrodef>
+	
+    <target name="check-resources" >
+        <available file="${basedir}/src/main/resources"
+        type="dir"
+        property="has-resources"/>
+    </target>
     
+    <target name="copy-resources" depends="check-resources" if="has-resources">
+        <copy todir="${basedir}/bin-debug">
+            <fileset dir="${basedir}/src/main/resources">
+                <include name="**/*.png" />
+                <include name="**/*.jpg" />
+                <include name="**/*.json" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="copy-js-resources" depends="check-resources" if="has-resources">
+        <mkdir dir="${basedir}/bin/js-debug/assets" />
+        <copy todir="${basedir}/bin/js-debug/assets" >
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+        <mkdir dir="${basedir}/bin/js-release/assets" />
+        <copy todir="${basedir}/bin/js-release/assets" >
+            <fileset dir="${basedir}/src/main/resources/assets">
+                <include name="**" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="run.air">
+        <property name="profile" value="mobileDevice" />
+        <property name="screensize" value="640x960:640x960" />
+        <property name="dpi" value="240" />
+        <property name="platform" value="AND" />
+        <exec executable="${AIR_HOME}/bin/${adl}" dir="${basedir}/bin-${which}" failonerror="true">
+            <arg value="-runtime" />
+            <arg value="${AIR_HOME}/runtimes/air/${runtime}" />
+            <arg value="-profile" />
+            <arg value="${profile}" />
+            <arg value="-screensize" />
+            <arg value="${screensize}" />
+            <arg value="-XscreenDPI" />
+            <arg value="${dpi}" />
+            <arg value="-XversionPlatform" />
+            <arg value="${platform}" />
+            <arg value="${basedir}/bin-${which}/${example}-app.xml" />
+        </exec>
+    </target>
+
+    <target name="run.air.desktop">
+        <property name="profile" value="extendedDesktop" />
+        <property name="screensize" value="640x960:640x960" />
+        <property name="dpi" value="240" />
+        <property name="platform" value="AND" />
+        <exec executable="${AIR_HOME}/bin/${adl}" dir="${basedir}/bin-${which}" failonerror="true">
+            <arg value="-runtime" />
+            <arg value="${AIR_HOME}/runtimes/air/${runtime}" />
+            <arg value="-profile" />
+            <arg value="${profile}" />
+            <arg value="${basedir}/bin-${which}/${example}-app.xml" />
+        </exec>
+    </target>
+
+    <target name="compile.cordova" description="Executes the Cordova build script to run the app on a device." if="has.cordova">
+        <property name="mobile.platform" value="android" />
+        <ant antfile="${FLEXJS_HOME}/cordova-build.xml" target="main" >
+            <property name="projectdir" value="${basedir}" />
+        </ant>
+        <ant antfile="${FLEXJS_HOME}/cordova-build.xml" target="load-platform.${mobile.platform}" >
+            <property name="projectdir" value="${basedir}" />
+        </ant>
+    </target>
+
+    <target name="run.cordova" description="Executes the Cordova build script to run the app on a device." if="has.cordova">
+        <property name="mobile.platform" value="android" />
+        <ant antfile="${FLEXJS_HOME}/cordova-build.xml" target="run.${mobile.platform}" >
+            <property name="projectdir" value="${basedir}" />
+        </ant>
+    </target>
 </project>


[17/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop

Posted by pe...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/932f7cb4
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/932f7cb4
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/932f7cb4

Branch: refs/heads/feature/dragAndDrop
Commit: 932f7cb4de15b4ff45d8dd71d76bd08110242f19
Parents: f51fcad d52d531
Author: greg-dove <gr...@gmail.com>
Authored: Tue Aug 22 11:35:04 2017 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Tue Aug 22 11:35:04 2017 +1200

----------------------------------------------------------------------
 .../src/main/flex/org/apache/flex/mdl/Dialog.as |  9 ++++---
 .../src/main/flex/org/apache/flex/mdl/Table.as  | 26 ++++++++------------
 2 files changed, 15 insertions(+), 20 deletions(-)
----------------------------------------------------------------------



[14/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - -refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts. -renamed GenericTests to UnitTests and fixed some display issu

Posted by pe...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/core/BinaryDataTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/core/BinaryDataTesterTest.as b/manualtests/GenericTests/src/flexUnitTests/core/BinaryDataTesterTest.as
deleted file mode 100644
index b10d18c..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/core/BinaryDataTesterTest.as
+++ /dev/null
@@ -1,567 +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 flexUnitTests.core
-{
-
-
-    import org.apache.flex.utils.Endian;
-    import flexunit.framework.Assert;
-    import org.apache.flex.utils.BinaryData
-
-
-    public class BinaryDataTesterTest 
-	{
-
-		[Before]
-		public function setUp():void {
-		}
-
-		[After]
-		public function tearDown():void {
-		}
-
-		[BeforeClass]
-		public static function setUpBeforeClass():void {
-		}
-
-		[AfterClass]
-		public static function tearDownAfterClass():void {
-		}
-
-
-		//util check functions
-		private static function bytesMatchExpectedData(bd:BinaryData,expected:Array,offset:int=0):Boolean{
-			var len:uint = expected.length;
-			var end:uint=offset+len;
-			for (var i:int=offset;i<end;i++) {
-				var check:uint = bd.readByteAt(i);
-				if (expected[i-offset]!=check) {
-					// trace('failed at ',i,expected[i-offset],check);
-					return false;
-				}
-			}
-			return true;
-		}
-
-		private static function reversedBytesMatch(bd1:BinaryData,bd2:BinaryData,len:uint,offset:int=0):Boolean{
-			var end:uint=offset+len;
-			for (var i:int=offset;i<end;i++) {
-				if (bd1.readByteAt(i) != bd2.readByteAt(end-1-i)) return false;
-			}
-			return true;
-
-		}
-
-
-		[Test]
-		public function testBasicPositionAndLength():void
-		{
-			var ba:BinaryData = new BinaryData();
-
-			Assert.assertEquals("new Instance, position", 0, ba.position);
-			Assert.assertEquals("new Instance, length", 0, ba.length);
-
-			ba.position=100;
-			Assert.assertEquals("position change, position", 100, ba.position);
-			Assert.assertEquals("position change, length", 0, ba.length);
-			Assert.assertEquals("position change, length", 0, ba.bytesAvailable);
-
-			ba.length=100;
-			Assert.assertEquals("length change, position", 100, ba.position);
-			Assert.assertEquals("length change, length", 100, ba.length);
-
-			ba.length=50;
-			Assert.assertEquals("length change, position", 50, ba.position);
-			Assert.assertEquals("length change, length", 50, ba.length);
-
-
-		}
-
-		[Test]
-		public function testAdvancedPositionAndLength():void
-		{
-			var ba:BinaryData = new BinaryData();
-
-			ba.position=100;
-			ba.length=100;
-
-			ba.writeByteAt(49,255);
-			Assert.assertEquals("writeByteAt does not affect position",100, ba.position);
-			Assert.assertEquals("writeByteAt (internal) does not affect length",100, ba.length);
-
-			ba.readByteAt(48);
-			Assert.assertEquals("readByteAt does not affect position",100, ba.position);
-			Assert.assertEquals("readByteAt does not affect length",100, ba.length);
-
-			ba.writeByteAt(199,255);
-			Assert.assertEquals("writeByteAt (beyond length) does affect length",200, ba.length);
-			Assert.assertEquals("writeByteAt (beyond length) does not affect position",100, ba.position);
-
-			Assert.assertStrictlyEquals("out of range byte read request",0 ,ba.readByteAt(205));
-
-		}
-
-
-		[Test]
-		public function testUTFWritePosition():void
-		{
-			var ba:BinaryData = new BinaryData();
-			ba.writeUTF('This is a test');
-			//writeUTF
-			Assert.assertEquals("basic post-writeUTF position", 16, ba.position);
-			ba=new BinaryData();
-			ba.writeUTFBytes('This is a test');
-			//writeUTFBytes
-			Assert.assertEquals("basic post-writeUTFBytes position", 14, ba.position);
-
-			//overlapping
-			ba.position=5;
-			ba.writeUTFBytes('This is a test');
-			Assert.assertEquals("Advanced post-writeUTFBytes position (overlap)", 19, ba.position);
-
-		}
-
-		[Test]
-		public function testBooleanRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			ba.writeBoolean(true);
-			ba.writeBoolean(false);
-			ba.position = 0;
-			Assert.assertTrue(ba.readBoolean());
-			Assert.assertFalse(ba.readBoolean());
-		}
-
-		[Test]
-		public function testByteRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			ba.writeByte(255);
-			ba.writeByte(256);
-			ba.writeByte(-256);
-			ba.writeByte(-257);
-			ba.writeByte(-128);
-			ba.writeByte(128);
-			ba.writeByte(127);
-			ba.writeByte(-50);
-			ba.writeByte(50);
-			ba.position = 0;
-
-
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -1, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 0, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 0, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -1, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -128, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -128, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 127, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", -50, ba.readByte());
-			Assert.assertEquals("Error testing post writeByte/readByte round-tripping", 50, ba.readByte());
-		}
-
-
-		[Test]
-		public function testUnsignedByteRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			ba.writeByte(255);
-			ba.writeByte(256);
-			ba.writeByte(-256);
-			ba.writeByte(-257);
-			ba.writeByte(-128);
-			ba.writeByte(128);
-			ba.writeByte(127);
-			ba.writeByte(-50);
-			ba.writeByte(50);
-			ba.position = 0;
-			//check read values
-
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 255, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 0, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 0, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 255, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 128, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 128, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 127, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 206, ba.readUnsignedByte());
-			Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", 50, ba.readUnsignedByte());
-		}
-
-
-		[Test]
-		public function testBasicEndian():void
-		{
-
-			var systemEndian:String = Endian.systemEndian;
-			//check we have a decisive systemEndian detection
-			Assert.assertNotNull(systemEndian );
-
-
-			var ba:BinaryData = new BinaryData();
-			var defaultEndian:String = ba.endian;
-
-			var alternateEndian:String = (defaultEndian == Endian.BIG_ENDIAN) ? Endian.LITTLE_ENDIAN : Endian.BIG_ENDIAN;
-			var expected:Object ={};
-			expected[Endian.BIG_ENDIAN] = 218038271;
-			expected[Endian.LITTLE_ENDIAN] = 4294966796;
-			var bytes:Array = [12, 254, 255, 255];
-			for each(var byte:uint in bytes) ba.writeByte(byte);
-			ba.position = 0;
-
-			Assert.assertEquals("testing endian:"+defaultEndian, expected[defaultEndian] , ba.readUnsignedInt());
-
-			ba.position = 0;
-			ba.endian = alternateEndian;
-			var result:uint =  ba.readUnsignedInt();
-
-			Assert.assertEquals("testing endian:"+alternateEndian, expected[alternateEndian], result);
-
-			ba.position = 0;
-			ba.endian = defaultEndian;
-			Assert.assertEquals("testing endian:"+defaultEndian, int(expected[defaultEndian]), ba.readInt());
-
-			ba.position = 0;
-			ba.endian = alternateEndian;
-			Assert.assertEquals("testing endian:"+alternateEndian, int(expected[alternateEndian]), ba.readInt());
-
-			var leBA:BinaryData = new BinaryData();
-			leBA.endian = Endian.LITTLE_ENDIAN;
-			var beBA:BinaryData = new BinaryData();
-			beBA.endian = Endian.BIG_ENDIAN;
-			//int writing
-			beBA.writeInt(-500);
-			leBA.writeInt(-500);
-			//check they represent reversed byte sequence
-			Assert.assertTrue(reversedBytesMatch(beBA,leBA,4));
-			beBA.position=0;
-			leBA.position=0;
-			//check they each read back to the same uint value
-			Assert.assertEquals('big endian',4294966796,beBA.readUnsignedInt());
-			Assert.assertEquals('little endian',4294966796,leBA.readUnsignedInt());
-
-			beBA.position=0;
-			leBA.position=0;
-			//uint writing
-			beBA.writeUnsignedInt(4294966796);
-			leBA.writeUnsignedInt(4294966796);
-			//check they represent reversed byte sequence
-			Assert.assertTrue(reversedBytesMatch(beBA,leBA,4));
-			beBA.position=0;
-			leBA.position=0;
-			//check they each read back to the same uint value
-			Assert.assertEquals('big endian',4294966796,beBA.readUnsignedInt());
-			Assert.assertEquals('little endian',4294966796,leBA.readUnsignedInt());
-
-
-			beBA.position=0;
-			leBA.position=0;
-
-			//check they each read back to the same int value
-			Assert.assertEquals('big endian',-500,beBA.readInt());
-			Assert.assertEquals('little endian',-500,leBA.readInt());
-
-
-			beBA.position=0;
-			leBA.position=0;
-
-			//short writing
-			beBA.writeShort(-500);
-			leBA.writeShort(-500);
-			//check they represent reversed byte sequence
-			Assert.assertTrue(reversedBytesMatch(beBA,leBA,2));
-			beBA.position=0;
-			leBA.position=0;
-			//check they each read back to the same uint value
-			Assert.assertEquals('big endian',65036,beBA.readUnsignedShort());
-			Assert.assertEquals('little endian',65036,leBA.readUnsignedShort());
-
-
-			beBA.position=0;
-			leBA.position=0;
-
-			//check they each read back to the same int value
-			Assert.assertEquals('big endian',-500,beBA.readShort());
-			Assert.assertEquals('little endian',-500,leBA.readShort());
-
-		}
-
-
-		[Test]
-		public function testUTFRoundtripping():void
-		{
-
-			//test big-endian round-tripping
-			var ba:BinaryData = new BinaryData();
-			ba.endian = Endian.BIG_ENDIAN;
-			ba.writeUTF('This is a test');
-			//writeUTF
-			Assert.assertEquals("basic post-writeUTF position", 16, ba.position);
-			ba.position = 0;
-			Assert.assertEquals("utf big endian round-tripping", 'This is a test', ba.readUTF());
-
-			ba = new BinaryData();
-			//test little-endian round-tripping
-			ba.endian = Endian.LITTLE_ENDIAN;
-			ba.writeUTF('This is a test');
-			//writeUTF
-			Assert.assertEquals("basic post-writeUTF position", 16, ba.position);
-			ba.position = 0;
-			Assert.assertEquals("utf big endian round-tripping", 'This is a test', ba.readUTF());
-
-		}
-
-
-		[Test]
-		public function testShortRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			//test LITTLE_ENDIAN round-tripping
-			ba.endian = Endian.LITTLE_ENDIAN;
-			ba.writeShort(255);
-			ba.writeShort(-50);
-			ba.writeShort(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 6, ba.length);
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 255, ba.readShort());
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", -50, ba.readShort());
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 50, ba.readShort());
-
-			//test BIG_ENDIAN round-tripping
-
-			ba.position = 0;
-			ba.endian = Endian.BIG_ENDIAN ;
-			ba.writeShort(255);
-			ba.writeShort(-50);
-			ba.writeShort(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 6, ba.length);
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 255, ba.readShort());
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", -50, ba.readShort());
-			Assert.assertEquals("Error testing post writeShort/readShort round-tripping", 50, ba.readShort());
-		}
-
-
-		[Test]
-		public function testUnsignedShortRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			//test LITTLE_ENDIAN round-tripping
-			ba.endian = Endian.LITTLE_ENDIAN;
-			ba.writeShort(255);
-			ba.writeShort(-50);
-			ba.writeShort(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 6, ba.length);
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 255, ba.readUnsignedShort());
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 65486, ba.readUnsignedShort());
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 50, ba.readUnsignedShort());
-
-			//test BIG_ENDIAN round-tripping
-
-			ba.position = 0;
-			ba.endian = Endian.BIG_ENDIAN ;
-			ba.writeShort(255);
-			ba.writeShort(-50);
-			ba.writeShort(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 6, ba.length);
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 255, ba.readUnsignedShort());
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 65486, ba.readUnsignedShort());
-			Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", 50, ba.readUnsignedShort());
-		}
-
-		[Test]
-		public function testIntRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			//test LITTLE_ENDIAN round-tripping
-			ba.endian = Endian.LITTLE_ENDIAN;
-			ba.writeInt(65536);
-			ba.writeInt(-50);
-			ba.writeInt(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 65536, ba.readInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", -50, ba.readInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readInt());
-
-			//test BIG_ENDIAN round-tripping
-
-			ba.position = 0;
-			ba.endian = Endian.BIG_ENDIAN ;
-			ba.writeInt(65536);
-			ba.writeInt(-50);
-			ba.writeInt(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 65536, ba.readInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", -50, ba.readInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readInt());
-		}
-
-
-		[Test]
-		public function testUnsignedIntRoundTripping():void
-		{
-			var ba:BinaryData = new BinaryData();
-			//test LITTLE_ENDIAN round-tripping
-			ba.endian = Endian.LITTLE_ENDIAN;
-			ba.writeUnsignedInt(65536);
-			ba.writeUnsignedInt(-50);
-			ba.writeUnsignedInt(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping",65536, ba.readUnsignedInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 4294967246, ba.readUnsignedInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readUnsignedInt());
-
-			//test BIG_ENDIAN round-tripping
-
-			ba.position = 0;
-			ba.endian = Endian.BIG_ENDIAN ;
-			ba.writeUnsignedInt(65536);
-			ba.writeUnsignedInt(-50);
-			ba.writeUnsignedInt(50);
-			ba.position = 0;
-
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 12, ba.length);
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping",65536, ba.readUnsignedInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 4294967246, ba.readUnsignedInt());
-			Assert.assertEquals("Error testing post writeInt/readInt round-tripping", 50, ba.readUnsignedInt());
-		}
-
-		[Test]
-		public function testFloatRoundTripping():void
-		{
-			var ble:BinaryData = new BinaryData();
-			//test LITTLE_ENDIAN round-tripping
-			ble.endian = Endian.LITTLE_ENDIAN;
-			ble.writeFloat(86.54);
-
-
-			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, ble.length);
-			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, ble.position);
-			//check bytes to account for precision loss between double and float comparisons
-			Assert.assertTrue("Error testing post writeFloat/readFloat round-tripping", bytesMatchExpectedData(ble,[123,20,173,66]));
-
-			var bbe:BinaryData = new BinaryData();
-			//test BIG_ENDIAN round-tripping
-			bbe.endian = Endian.BIG_ENDIAN;
-			bbe.writeFloat(86.54);
-
-
-			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, bbe.length);
-			Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", 4, bbe.position);
-			//check bytes to account for precision loss between double and float comparisons
-			Assert.assertTrue("Error testing post writeFloat/readFloat round-tripping", bytesMatchExpectedData(bbe,[66,173,20,123]));
-
-
-		}
-
-
-		[Test]
-		public function testDoubleRoundTripping():void
-		{
-
-			var ble:BinaryData = new BinaryData();
-			//test LITTLE_ENDIAN round-tripping
-			ble.endian = Endian.LITTLE_ENDIAN;
-			ble.writeDouble(86.54);
-
-
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, ble.length);
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, ble.position);
-
-			//check bytes
-			Assert.assertTrue("Error testing post writeDouble/readDouble round-tripping", bytesMatchExpectedData(ble,[195,245,40,92,143,162,85,64]));
-
-			var bbe:BinaryData = new BinaryData();
-			//test BIG_ENDIAN round-tripping
-			bbe.endian = Endian.BIG_ENDIAN;
-			bbe.writeDouble(86.54);
-
-
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, bbe.length);
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, bbe.position);
-			//check bytes
-
-			Assert.assertTrue("Error testing post writeDouble/readDouble round-tripping", bytesMatchExpectedData(bbe,[64,85,162,143,92,40,245,195]));
-
-
-			ble.position = 0;
-			bbe.position = 0;
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 86.54, bbe.readDouble());
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 86.54, ble.readDouble());
-
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, bbe.position);
-			Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", 8, ble.position);
-
-		}
-
-
-
-		[Test]
-		public function testWriteBytes():void
-		{
-			var ba:BinaryData = new BinaryData();
-			for (var i:int=0;i<50;i++) ba.writeByte(i);
-
-
-			var newBa:BinaryData = new BinaryData();
-			newBa.writeBytes(ba);
-
-			Assert.assertEquals("BinaryData writeBytes: length", 50, newBa.length);
-			Assert.assertEquals("BinaryData writeBytes: position", 50, newBa.position);
-
-			for (i=0;i<50;i++) {
-				Assert.assertEquals("BinaryData writeBytes: content check", i, newBa.array[i]);
-			}
-
-
-
-		}
-
-		[Test]
-		public function testReadBytes():void
-		{
-			var ba:BinaryData = new BinaryData();
-			for (var i:int=0;i<50;i++) ba.writeByte(i);
-			ba.position=0;
-			var newBa:BinaryData = new BinaryData();
-
-			ba.readBytes(newBa,5,10);
-			Assert.assertEquals("BinaryData readBytes: position", 10, ba.position);
-			Assert.assertEquals("BinaryData readBytes: length", 15, newBa.length);
-			Assert.assertEquals("BinaryData readBytes: position", 0, newBa.position);
-			var expected:Array = [0,0,0,0,0,0,1,2,3,4,5,6,7,8,9];
-			for (i=5;i<15;i++) {
-				Assert.assertEquals("BinaryData readBytes: content check", expected[i], newBa.array[i]);
-			}
-		}
-
-
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/core/StrandTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/core/StrandTesterTest.as b/manualtests/GenericTests/src/flexUnitTests/core/StrandTesterTest.as
deleted file mode 100644
index f6715bb..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/core/StrandTesterTest.as
+++ /dev/null
@@ -1,55 +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 flexUnitTests.core
-{
-    import flexunit.framework.Assert;
-    
-    import org.apache.flex.core.Strand;
-    
-    public class StrandTesterTest
-    {		
-        [Before]
-        public function setUp():void
-        {
-        }
-        
-        [After]
-        public function tearDown():void
-        {
-        }
-        
-        [BeforeClass]
-        public static function setUpBeforeClass():void
-        {
-        }
-        
-        [AfterClass]
-        public static function tearDownAfterClass():void
-        {
-        }
-        
-        [Test]
-        public function testIdProperty():void
-        {
-            var strand:Strand = new Strand();
-            strand.id = "foo";
-            Assert.assertEquals("Error testing Srand.id", "foo",strand.id);
-        }        
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/jira/JiraTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/jira/JiraTesterTest.as b/manualtests/GenericTests/src/flexUnitTests/jira/JiraTesterTest.as
deleted file mode 100644
index c361f39..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/jira/JiraTesterTest.as
+++ /dev/null
@@ -1,73 +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 flexUnitTests.jira
-{
-    import flexunit.framework.Assert;
-
-    
-    public class JiraTesterTest
-    {		
-		public static var isJS:Boolean;
-        [BeforeClass]
-        public static function setUpBeforeClass():void
-        {
-            var js:Boolean = false;
-            try {
-                var check:* = getDefinitionByName("flash.system.Capabilities");
-            } catch (e:Error) {
-                js = true;
-            }
-            //if this next reference to 'check' is not included, then the above try/catch code
-            // appears to be optimized away in js-release mode
-            //todo: this is inconsistent with swf, need to create simple test case for jx compiler/gcc
-            if (check == null) {
-                js = true;
-            }
-            isJS = js;
-        }
-		
-		[AfterClass]
-        public static function tearDownAfterClass():void
-        {
-        }
-	
-	
-        [Before]
-        public function setUp():void
-        {
-        }
-        
-        [After]
-        public function tearDown():void
-        {
-        }
-        
-       
-        /*
-		// TEST METHODS 
-		*/
-        
-		//example, postfix the test method with JIRA issue reference:
-        /*[Test]
-        public function testJIRA_FLEX_9999():void
-        {
-
-        }*/    
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/observedbugs/ObservedBugTests.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/observedbugs/ObservedBugTests.as b/manualtests/GenericTests/src/flexUnitTests/observedbugs/ObservedBugTests.as
deleted file mode 100644
index 8f3006a..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/observedbugs/ObservedBugTests.as
+++ /dev/null
@@ -1,101 +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 flexUnitTests.observedbugs
-{
-    import flexunit.framework.Assert;
-    import org.apache.flex.reflection.*;
-    
-    public class ObservedBugTests
-    {		
-       
-        public static var isJS:Boolean;
-        [BeforeClass]
-        public static function setUpBeforeClass():void
-        {
-            var js:Boolean = false;
-            try {
-                var check:* = getDefinitionByName("flash.system.Capabilities");
-            } catch (e:Error) {
-                js = true;
-            }
-            //if this next reference to 'check' is not included, then the above try/catch code
-            // appears to be optimized away in js-release mode
-            //todo: this is inconsistent with swf, need to create simple test case for jx compiler/gcc
-            if (check == null) {
-                js = true;
-            }
-            isJS = js;
-        }
-        
-        [AfterClass]
-        public static function tearDownAfterClass():void
-        {
-        }
-		
-		 [Before]
-        public function setUp():void
-        {
-        }
-        
-        [After]
-        public function tearDown():void
-        {
-        }
-
-
-        [Test]
-        public function testTryCatchJSReleaseModeWorks_a():void
-        {
-            var js:int = 1;
-            try {
-                js = getDefinitionByName("flash.system.Capabilities") != null ? 1 : 0;
-            } catch (e:Error) {
-                js = 2;
-            }
-			
-            Assert.assertTrue("Unexpected value following try/catch",(isJS ? (js == 2) : (js == 1)));
-
-        }
-		
-		
-		[TestVariance(variance="JS",description="Variance in test, this test fails in JS-Release mode only")]
-        [Test]
-        public function testTryCatchJSReleaseModeFails_b():void
-        {
-            var js:Boolean = false;
-            try {
-                var check:* = getDefinitionByName("flash.system.Capabilities");
-            } catch (e:Error) {
-                js = true;
-            }
-			
-			//if this next reference to 'check' variable is not included, then the above try/catch code
-            // appears to be optimized away in js-release mode
-            //todo: this is inconsistent with swf
-            /* if (check == null) {
-                js = true;
-            }*/
-            Assert.assertTrue("Unexpected value following try/catch",(isJS ? (js == true) : (js == false)));
-
-
-        }
-		
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTest.as b/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTest.as
deleted file mode 100644
index 9d39fc9..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTest.as
+++ /dev/null
@@ -1,373 +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 flexUnitTests.reflection
-{
-    import flexunit.framework.Assert;
-	import flexUnitTests.reflection.support.*;
-    import org.apache.flex.reflection.*;
-    
-    public class ReflectionTesterTest
-    {		
-       
-        public static var isJS:Boolean;
-        [BeforeClass]
-        public static function setUpBeforeClass():void
-        {
-            var js:Boolean = false;
-            try {
-                var check:* = getDefinitionByName("flash.system.Capabilities");
-            } catch (e:Error) {
-                js = true;
-            }
-            //if this next reference to 'check' is not included, then the above try/catch code
-            //appears to be optimized away in js-release mode
-            //a separate test has been created for this
-            if (check == null) {
-                js = true;
-            }
-            isJS = js;
-        }
-        
-        [AfterClass]
-        public static function tearDownAfterClass():void
-        {
-        }
-		
-		 [Before]
-        public function setUp():void
-        {
-            TestClass2.testStaticVar = "testStaticVar_val";
-            TestClass2.testStaticWriteOnly = "staticAccessor_initial_value";
-        }
-        
-        [After]
-        public function tearDown():void
-        {
-        }
-
-        private static function retrieveItemWithName(collection:Array, name:String):DefinitionBase {
-            var ret:DefinitionBase;
-            var i:uint=0,l:uint=collection.length;
-            for (;i<l;i++) {
-                if (collection[i].name==name) {
-                    ret = collection[i];
-                    break;
-                }
-            }
-
-            return ret;
-        }
-
-
-        [Test]
-        public function testBasicDescribeTypeClass():void
-        {
-            var def:TypeDefinition = describeType(TestClass2);
-
-            Assert.assertEquals("Unexpected package name",def.packageName,"flexUnitTests.reflection.support");
-            Assert.assertEquals("Unexpected type name",def.name,"TestClass2");
-
-            var variables:Array = def.variables;
-            Assert.assertEquals("unexpected variables length",1,variables.length);
-
-
-            var methods:Array = def.methods;
-            Assert.assertEquals("unexpected methods length",2,methods.length);
-
-            var accessors:Array = def.accessors;
-            Assert.assertEquals("unexpected accessors length",3,accessors.length);
-
-            var constructor:MethodDefinition = def.constructorMethod;
-            Assert.assertEquals("unexpected constructor declaredBy",
-                    "flexUnitTests.reflection.support.TestClass2",
-                    constructor.declaredBy.qualifiedName);
-
-            Assert.assertEquals("unexpected constructor params",
-                    1,
-                    constructor.parameters.length);
-
-            var meta:Array = def.retrieveMetaDataByName("TestMeta");
-            Assert.assertEquals("unexpected class specific meta length",
-                    1,
-                    meta.length);
-
-
-            def = describeType(TestClass4);
-            Assert.assertEquals("Unexpected package name",def.packageName,"flexUnitTests.reflection.support");
-            Assert.assertEquals("Unexpected type name",def.name,"TestClass4");
-
-            variables = def.variables;
-            Assert.assertEquals("unexpected variables length",2,variables.length);
-
-
-            methods = def.methods;
-            Assert.assertEquals("unexpected methods length",4,methods.length);
-
-            accessors = def.accessors;
-            Assert.assertEquals("unexpected accessors length",6,accessors.length);
-
-            constructor = def.constructorMethod;
-            Assert.assertEquals("unexpected constructor declaredBy",
-                    "flexUnitTests.reflection.support.TestClass4",
-                    constructor.declaredBy.qualifiedName);
-
-            Assert.assertEquals("unexpected constructor params",
-                    0,
-                    constructor.parameters.length);
-
-
-
-        }
-
-
-
-
-        [TestVariance(variance="JS",description="Variance in test due to current inability for js target to reflect into non-FlexJS base classes or typedefs")]
-		[Test]
-        public function testDescribeTypeClass():void
-        {
-            var def:TypeDefinition = describeType(TestClass1);
-            var expected:*;
-            Assert.assertEquals("Unexpected package name","flexUnitTests.reflection.support",def.packageName);
-            Assert.assertEquals("Unexpected type name",def.name,"TestClass1");
-
-            var variables:Array = def.variables;
-            Assert.assertEquals("unexpected instance variables length",3,variables.length);
-
-            //there is a difference based on the EventDispatcher inheritance chain differences between js and swf:
-            expected = isJS ? 4 : 7;
-            var methods:Array = def.methods;
-            Assert.assertEquals("unexpected instance methods length",expected,methods.length);
-
-            var accessors:Array = def.accessors;
-            Assert.assertEquals("unexpected instance accessors length",4,accessors.length);
-
-            var staticVariables:Array =def.staticVariables;
-            Assert.assertEquals("unexpected static variables length",2,staticVariables.length);
-
-            var staticMethods:Array = def.staticMethods;
-            Assert.assertEquals("unexpected static methods length",1,staticMethods.length);
-            //there is a difference based on the native inheritance of readonly 'prototype' not collected from 'Class' (or Object for js):
-            expected = isJS ? 3 : 4;
-            var staticAccessors:Array = def.staticAccessors;
-            Assert.assertEquals("unexpected static accessors length",expected,staticAccessors.length);
-
-			
-        }
-
-        [TestVariance(variance="JS",description="Variance in test due to current inability for js target to reflect into non-FlexJS base classes or typedefs")]
-        [Test]
-        public function testDescribeTypeInstance():void
-        {
-            var def:TypeDefinition = describeType(new TestClass1());
-            var expected:*;
-            Assert.assertEquals("Unexpected package name","flexUnitTests.reflection.support",def.packageName);
-            Assert.assertEquals("Unexpected type name",def.name,"TestClass1");
-
-            var variables:Array = def.variables;
-            Assert.assertEquals("unexpected instance variables length",3,variables.length);
-
-            //there is a difference based on the EventDispatcher inheritance chain differences between js and swf:
-            expected = isJS ? 4 : 7;
-            var methods:Array = def.methods;
-            Assert.assertEquals("unexpected instance methods length",expected,methods.length);
-
-            var accessors:Array = def.accessors;
-            Assert.assertEquals("unexpected instance accessors length",4,accessors.length);
-
-            var staticVariables:Array =def.staticVariables;
-            Assert.assertEquals("unexpected static variables length",2,staticVariables.length);
-
-            var staticMethods:Array = def.staticMethods;
-            Assert.assertEquals("unexpected static methods length",1,staticMethods.length);
-            //there is a difference based on the native inheritance of readonly 'prototype' not collected from 'Class' (or Object for js):
-            expected = isJS ? 3 : 4;
-            var staticAccessors:Array = def.staticAccessors;
-            Assert.assertEquals("unexpected static accessors length",expected,staticAccessors.length);
-
-
-        }
-
-        [TestVariance(variance="JS",description="Variance in baseClasses due to current inability for js target to reflect into non-FlexJS base classes or typedefs")]
-        [Test]
-        public function testBaseClasses():void{
-            var def:TypeDefinition = describeType(TestClass1);
-
-            var baseClasses:Array = def.baseClasses;
-            var expected:uint = isJS ? 1 : 3;
-            Assert.assertEquals("unexpected baseclasses length",expected,baseClasses.length);
-        }
-
-
-        [Test]
-        public function testMemberAccess():void{
-            //all of these should succeed without error
-            var inst:TestClass2 = new TestClass2("");
-            var def:TypeDefinition = describeType(inst);
-
-            /** instance variables **/
-
-            var variables:Array = def.variables;
-            var variable:VariableDefinition = variables[0];
-            Assert.assertEquals("unexpected variable name","testVar",variable.name);
-            var meta:MetaDataDefinition = variable.retrieveMetaDataByName("TestMeta")[0];
-            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
-
-            var metaArg:MetaDataArgDefinition = meta.getArgsByKey("foo")[0];
-            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
-            Assert.assertEquals("unexpected meta arg value","instanceVariable",metaArg.value);
-
-            Assert.assertEquals("unexpected reflection initial variable value","testVar_val",inst[variable.name]);
-
-            var accessors:Array = def.accessors;
-            var testReadOnly:AccessorDefinition = retrieveItemWithName(accessors,"testReadOnly") as AccessorDefinition;
-            meta = testReadOnly.retrieveMetaDataByName("TestMeta")[0];
-            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
-
-            metaArg = meta.getArgsByKey("foo")[0];
-            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
-            Assert.assertEquals("unexpected meta arg value","instanceAccessor",metaArg.value);
-
-            /** instance accessors **/
-            var testWriteOnly:AccessorDefinition = retrieveItemWithName(accessors,"testWriteOnly") as AccessorDefinition;
-            var testReadWrite:AccessorDefinition = retrieveItemWithName(accessors,"testReadWrite") as AccessorDefinition;
-            Assert.assertNotNull(testReadOnly);
-            Assert.assertNotNull(testWriteOnly);
-            Assert.assertNotNull(testReadWrite);
-
-            Assert.assertEquals("unexpected accessor initial value","instanceAccessor_initial_value",inst[testReadOnly.name]);
-            Assert.assertEquals("unexpected accessor initial value","instanceAccessor_initial_value",inst[testReadWrite.name]);
-
-            inst[testWriteOnly.name] = "test";
-            Assert.assertEquals("unexpected accessor initial value","test",inst[testReadOnly.name]);
-            Assert.assertEquals("unexpected accessor initial value","test",inst[testReadWrite.name]);
-
-            inst[testReadWrite.name] = "test2";
-            Assert.assertEquals("unexpected accessor initial value","test2",inst[testReadOnly.name]);
-            Assert.assertEquals("unexpected accessor initial value","test2",inst[testReadWrite.name]);
-
-            /** instance methods **/
-            var methods:Array = def.methods;
-            var testMethod:MethodDefinition = retrieveItemWithName(methods,"testMethod") as MethodDefinition;
-            meta = testMethod.retrieveMetaDataByName("TestMeta")[0];
-            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
-
-            metaArg = meta.getArgsByKey("foo")[0];
-            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
-            Assert.assertEquals("unexpected meta arg value","instanceMethod",metaArg.value);
-            Assert.assertEquals("unexpected parameter count",0,testMethod.parameters.length);
-            inst[testMethod.name]();
-            Assert.assertEquals("unexpected method invocation result","testMethod was called",inst[testReadWrite.name]);
-
-            var testMethodWithArgs:MethodDefinition = retrieveItemWithName(methods,"testMethodWithArgs") as MethodDefinition;
-            Assert.assertEquals("unexpected parameter count",2,testMethodWithArgs.parameters.length);
-            Assert.assertTrue("unexpected method invocation result",inst[testMethodWithArgs.name]("test"));
-            Assert.assertFalse("unexpected method invocation result",inst[testMethodWithArgs.name]("test", false));
-            Assert.assertEquals("unexpected method invocation result","testMethodWithArgs was called",inst[testReadWrite.name]);
-
-
-
-            /** static vars **/
-            variables = def.staticVariables;
-
-            
-            variable = variables[0];
-            Assert.assertEquals("unexpected variable name","testStaticVar",variable.name);
-            meta = variable.retrieveMetaDataByName("TestMeta")[0];
-            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
-
-            metaArg = meta.getArgsByKey("foo")[0];
-            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
-            Assert.assertEquals("unexpected meta arg value","staticVariable",metaArg.value);
-
-            Assert.assertEquals("unexpected reflection initial variable value","testStaticVar_val",TestClass2[variable.name]);
-
-            /** static accessors **/
-
-            accessors = def.staticAccessors;
-
-            
-            testReadOnly = retrieveItemWithName(accessors,"testStaticReadOnly") as AccessorDefinition;
-            meta = testReadOnly.retrieveMetaDataByName("TestMeta")[0];
-            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
-
-            metaArg = meta.getArgsByKey("foo")[0];
-            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
-            Assert.assertEquals("unexpected meta arg value","staticAccessor",metaArg.value);
-
-
-            testWriteOnly = retrieveItemWithName(accessors,"testStaticWriteOnly") as AccessorDefinition;
-            testReadWrite = retrieveItemWithName(accessors,"testStaticReadWrite") as AccessorDefinition;
-            Assert.assertNotNull(testReadOnly);
-            Assert.assertNotNull(testWriteOnly);
-            Assert.assertNotNull(testReadWrite);
-
-            Assert.assertEquals("unexpected accessor initial value","staticAccessor_initial_value",TestClass2[testReadOnly.name]);
-            Assert.assertEquals("unexpected accessor initial value","staticAccessor_initial_value",TestClass2[testReadWrite.name]);
-
-            TestClass2[testWriteOnly.name] = "test";
-            Assert.assertEquals("unexpected accessor initial value","test",TestClass2[testReadOnly.name]);
-            Assert.assertEquals("unexpected accessor initial value","test",TestClass2[testReadWrite.name]);
-
-            TestClass2[testReadWrite.name] = "test2";
-            Assert.assertEquals("unexpected accessor initial value","test2",TestClass2[testReadOnly.name]);
-            Assert.assertEquals("unexpected accessor initial value","test2",TestClass2[testReadWrite.name]);
-
-
-            /** static methods **/
-            methods = def.staticMethods;
-            testMethod = retrieveItemWithName(methods,"testStaticMethod") as MethodDefinition;
-            meta = testMethod.retrieveMetaDataByName("TestMeta")[0];
-            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
-
-            metaArg = meta.getArgsByKey("foo")[0];
-            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
-            Assert.assertEquals("unexpected meta arg value","staticMethod",metaArg.value);
-            Assert.assertEquals("unexpected parameter count",0,testMethod.parameters.length);
-            TestClass2[testMethod.name]();
-            Assert.assertEquals("unexpected method invocation result","testStaticMethod was called",TestClass2[testReadWrite.name]);
-
-            testMethodWithArgs = retrieveItemWithName(methods,"testStaticMethodWithArgs") as MethodDefinition;
-            Assert.assertEquals("unexpected parameter count",2,testMethodWithArgs.parameters.length);
-            Assert.assertTrue("unexpected method invocation result",TestClass2[testMethodWithArgs.name]("test"));
-            Assert.assertFalse("unexpected method invocation result",TestClass2[testMethodWithArgs.name]("test", false));
-            Assert.assertEquals("unexpected method invocation result","testStaticMethodWithArgs was called",TestClass2[testReadWrite.name]);
-
-        }
-
-
-		[Test]
-        public function testInterfaceReflection():void{
-            var def:TypeDefinition = describeType(ITestInterface4);
-            Assert.assertEquals("unexpected kind value","interface",def.kind);
-            Assert.assertEquals("unexpected interfaces length",3,def.interfaces.length);
-            Assert.assertEquals("unexpected accessors length",1,def.accessors.length);
-            Assert.assertEquals("unexpected methods length",1,def.methods.length);
-
-            Assert.assertEquals("unexpected variables length",0,def.variables.length);
-            Assert.assertEquals("unexpected staticVariables length",0,def.staticVariables.length);
-            Assert.assertEquals("unexpected variables length",0,def.staticMethods.length);
-            Assert.assertEquals("unexpected staticVariables length",0,def.staticAccessors.length);
-            Assert.assertNull("unexpected constructor Method definition",def.constructorMethod);
-        }
-
-
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestAlias.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestAlias.as b/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestAlias.as
deleted file mode 100644
index 7fd5984..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestAlias.as
+++ /dev/null
@@ -1,90 +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 flexUnitTests.reflection
-{
-    import flexunit.framework.Assert;
-	import flexUnitTests.reflection.support.*;
-    import org.apache.flex.reflection.*;
-    
-    public class ReflectionTesterTestAlias
-    {		
-       
-        public static var isJS:Boolean;
-        [BeforeClass]
-        public static function setUpBeforeClass():void
-        {
-            var js:Boolean = false;
-            try {
-                var check:* = getDefinitionByName("flash.system.Capabilities");
-            } catch (e:Error) {
-                js = true;
-            }
-            //if this next reference to 'check' is not included, then the above try/catch code
-            //appears to be optimized away in js-release mode
-            //a separate test has been created for this
-            if (check == null) {
-                js = true;
-            }
-            isJS = js;
-        }
-        
-        [AfterClass]
-        public static function tearDownAfterClass():void
-        {
-        }
-		
-		 [Before]
-        public function setUp():void
-        {
-
-        }
-        
-        [After]
-        public function tearDown():void
-        {
-
-        }
-
-
-
-
-        [Test]
-        public function testBasicAlias():void {
-            //no initial alias
-            Assert.assertNull(getAliasByClass(TestClass2));
-            registerClassAlias("fjsTest", TestClass2);
-            //alias is registered
-            Assert.assertEquals("unexpected Alias value","fjsTest",getAliasByClass(TestClass2));
-            //register same alias for another class
-            registerClassAlias("fjsTest", TestClass3);
-            //original alias mapping is deregistered
-            Assert.assertNull(getAliasByClass(TestClass2));
-            //alias is registered for new class
-            Assert.assertEquals("unexpected Alias value","fjsTest",getAliasByClass(TestClass3));
-
-            //class is retrievable by alias
-            Assert.assertEquals("unexpected Class value",TestClass3,getClassByAlias("fjsTest"));
-
-
-        }
-
-
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestUseCache.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestUseCache.as b/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestUseCache.as
deleted file mode 100644
index 9722647..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/ReflectionTesterTestUseCache.as
+++ /dev/null
@@ -1,93 +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 flexUnitTests.reflection
-{
-    import flexunit.framework.Assert;
-	import flexUnitTests.reflection.support.*;
-    import org.apache.flex.reflection.*;
-    
-    public class ReflectionTesterTestUseCache
-    {		
-       
-        public static var isJS:Boolean;
-        [BeforeClass]
-        public static function setUpBeforeClass():void
-        {
-            var js:Boolean = false;
-            try {
-                var check:* = getDefinitionByName("flash.system.Capabilities");
-            } catch (e:Error) {
-                js = true;
-            }
-            //if this next reference to 'check' is not included, then the above try/catch code
-            //appears to be optimized away in js-release mode
-            //a separate test has been created for this
-            if (check == null) {
-                js = true;
-            }
-            isJS = js;
-        }
-        
-        [AfterClass]
-        public static function tearDownAfterClass():void
-        {
-        }
-		
-		 [Before]
-        public function setUp():void
-        {
-            TypeDefinition.useCache = true;
-            TestClass2.testStaticVar = "testStaticVar_val";
-            TestClass2.testStaticWriteOnly = "staticAccessor_initial_value";
-        }
-        
-        [After]
-        public function tearDown():void
-        {
-            TypeDefinition.useCache = false;
-        }
-
-        private static function retrieveItemWithName(collection:Array, name:String):DefinitionBase {
-            var ret:DefinitionBase;
-            var i:uint=0,l:uint=collection.length;
-            for (;i<l;i++) {
-                if (collection[i].name==name) {
-                    ret = collection[i];
-                    break;
-                }
-            }
-
-            return ret;
-        }
-
-
-        [Test]
-        public function testBasicCache():void {
-            var def:TypeDefinition = describeType(TestClass2);
-
-            var def2:TypeDefinition = describeType(TestClass2);
-
-            Assert.assertEquals("cache not working",def,def2);
-
-        }
-
-
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface.as
deleted file mode 100644
index b5a2249..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface.as
+++ /dev/null
@@ -1,27 +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 flexUnitTests.reflection.support
-{
-
-	public interface ITestInterface
-	{
-		function someMethod(compulsoryArg:int, optArg:String=null):TestClass1;
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface2.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface2.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface2.as
deleted file mode 100644
index f69f9b7..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface2.as
+++ /dev/null
@@ -1,29 +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 flexUnitTests.reflection.support
-{
-
-	public interface ITestInterface2 extends ITestInterface
-	{
-		function someMethod2(compulsoryArg:int, optArg:String=null):TestClass1;
-		
-		function get someValue2():Boolean;
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface3.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface3.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface3.as
deleted file mode 100644
index 83d05ee..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface3.as
+++ /dev/null
@@ -1,27 +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 flexUnitTests.reflection.support
-{
-
-	public interface ITestInterface3
-	{
-			//empty
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface4.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface4.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface4.as
deleted file mode 100644
index 7a032f5..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/ITestInterface4.as
+++ /dev/null
@@ -1,29 +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 flexUnitTests.reflection.support
-{
-
-	public interface ITestInterface4 extends ITestInterface2, ITestInterface3
-	{
-		function someMethod3(compulsoryArg:int, optArg:String=null):TestClass1;
-		
-		function get someValue3():Boolean;
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass1.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass1.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass1.as
deleted file mode 100644
index 76ac834..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass1.as
+++ /dev/null
@@ -1,91 +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 flexUnitTests.reflection.support
-{
-
-	import org.apache.flex.reflection.TypeDefinition;
-
-	[RemoteClass(alias="TestClass1_alias")]
-	public class TestClass1 implements ITestInterface
-	{
-		public function TestClass1()
-		{
-			var something:ITestInterface2;
-		}
-		
-		[Bindable]
-		[Event(name="foo", type="org.apache.flex.events.Event")]
-		public var bindableVar:String;
-		[Event(name="foo", type="org.apache.flex.events.Event")]
-		public var temp:Boolean;
-		
-		public static var tempStatic:Boolean;
-		
-		public var typeDef:TypeDefinition;
-		
-		public var testVar:String="testVar_val";
-		
-		public static var staticTestVar:String="statictestVar_val";
-		
-		private var _atestval:String="accessorTest_val";
-		public function get accessorTest():String{
-			return _atestval;
-		}
-		
-		public function set accessorTest(val:String):void{
-			_atestval = val;
-		}
-		
-		private static var _staticAtestval:String="staticAccessorTest_val";
-		public static function get staticAccessorTest():String{
-			return _staticAtestval;
-		}
-		
-		public static function set staticAccessorTest(val:String):void{
-			_staticAtestval = val;
-		}
-		
-		[Bindable]
-		public static var bindableStaticVar:String;
-		
-		[Bindable]
-		public var bindableInstanceVar:String;
-		
-		
-		public function someMethod(compulsoryArg:int, optArg:String=null):TestClass1{
-			return null;
-		}
-		
-		public static function someStaticMethod(compulsoryArg:int, optArg:String=null):TestClass1{
-			return null;
-		}
-		
-		public function get testAccessorType():TypeDefinition {
-			return null;
-		}
-		
-		public const instanceConstant:String="instanceConstant_val";
-		
-		
-		public static const staticConstant:String="staticConstant_val";
-		
-
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass2.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass2.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass2.as
deleted file mode 100644
index bcc7988..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass2.as
+++ /dev/null
@@ -1,103 +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 flexUnitTests.reflection.support
-{
-
-
-	[TestMeta(foo="class")]
-	public class TestClass2 
-	{
-		//Note: do not change this test class unless you change the related tests to 
-		//support any changes that might appear when testing reflection into it
-		
-		public function TestClass2(blah:String){
-
-		}
-		
-		
-		[TestMeta(foo="instanceMethod")]
-		public function testMethod():void{
-			_testReadWrite = "testMethod was called";
-		}
-		
-		[TestMeta(foo="instanceMethod")]
-		public function testMethodWithArgs(mandatory:String,optional:Boolean=true):Boolean{
-			_testReadWrite = "testMethodWithArgs was called";
-			return optional;
-		}
-		
-		[TestMeta(foo="instanceVariable")]
-		public var testVar:String = "testVar_val";
-		
-		[TestMeta(foo="instanceAccessor")]
-		public function get testReadOnly():String{
-			return _testReadWrite
-		}
-		
-		[TestMeta(foo="instanceAccessor")]
-		public function set testWriteOnly(value:String):void{
-			_testReadWrite=value;
-		}
-		
-		[TestMeta(foo="instanceAccessor")]
-		public function get testReadWrite():String{
-			return _testReadWrite
-		}
-		public function set testReadWrite(value:String):void{
-			_testReadWrite=value;
-		}
-		
-		[TestMeta(foo="staticMethod")]
-		public static function testStaticMethod():void{
-			_testStaticReadWrite = "testStaticMethod was called";
-		}
-		
-		[TestMeta(foo="staticMethod")]
-		public static function testStaticMethodWithArgs(mandatory:String,optional:Boolean=true):Boolean{
-			_testStaticReadWrite = "testStaticMethodWithArgs was called";
-			return optional;
-		}
-		
-		[TestMeta(foo="staticVariable")]
-		public static var testStaticVar:String = "testStaticVar_val";
-		
-		[TestMeta(foo="staticAccessor")]
-		public static function get testStaticReadOnly():String{
-			return _testStaticReadWrite
-		}
-		
-		[TestMeta(foo="staticAccessor")]
-		public static function set testStaticWriteOnly(value:String):void{
-			_testStaticReadWrite = value;
-		}
-		
-		[TestMeta(foo="staticAccessor")]
-		public static function get testStaticReadWrite():String{
-			return _testStaticReadWrite;
-		}
-		public static function set testStaticReadWrite(value:String):void{
-			_testStaticReadWrite = value;
-		}
-		
-		
-		
-		private static var _testStaticReadWrite:String = "staticAccessor_initial_value";
-		private var _testReadWrite:String = "instanceAccessor_initial_value";
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass3.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass3.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass3.as
deleted file mode 100644
index 0b4c59b..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass3.as
+++ /dev/null
@@ -1,39 +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 flexUnitTests.reflection.support
-{
-
-
-
-	public class TestClass3 extends TestClass1 implements ITestInterface2, ITestInterface3
-	{
-		
-		public var something:String;
-		
-		
-		public function someMethod2(compulsoryArg:int, optArg:String=null):TestClass1
-		{
-			return null;
-		}
-		
-		public function get someValue2():Boolean {
-			return false;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass4.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass4.as b/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass4.as
deleted file mode 100644
index 5d0a28f..0000000
--- a/manualtests/GenericTests/src/flexUnitTests/reflection/support/TestClass4.as
+++ /dev/null
@@ -1,95 +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 flexUnitTests.reflection.support
-{
-
-
-
-	public class TestClass4 extends TestClass2
-	{
-		//Note: do not change this test class unless you change the related tests to 
-		//support any changes that might appear when testing reflection into it
-		
-		public function TestClass4(){
-			super("");
-		}
-		
-		
-		[TestMeta(foo="instanceMethod")]
-		public function testMethod2():void{
-		
-		}
-		
-		[TestMeta(foo="instanceMethod")]
-		public function testMethodWithArgs2(mandatory:String,optional:Boolean=true):void{
-		
-		}
-		
-		[TestMeta(foo="instanceVariable")]
-		public var testVar2:String;
-		
-		[TestMeta(foo="instanceAccessor")]
-		public function get testReadonly2():String{
-			return null
-		}
-		
-		[TestMeta(foo="instanceAccessor")]
-		public function set testWriteonly2(value:String):void{
-			
-		}
-		
-		[TestMeta(foo="instanceAccessor")]
-		public function get testReadeWrite2():String{
-			return null
-		}
-		public function set testReadeWrite2(value:String):void{
-			
-		}
-		
-		[TestMeta(foo="staticMethod")]
-		public static function testStaticMethod():void{
-		}
-		
-		[TestMeta(foo="staticMethod")]
-		public static function testStaticMethodWithArgs(mandatory:String,optional:Boolean=true):void{
-		}
-		
-		[TestMeta(foo="staticVariable")]
-		public static var testStaticVar:String;
-		
-		[TestMeta(foo="staticAccessor")]
-		public static function get testStaticReadonly():String{
-			return null
-		}
-		
-		[TestMeta(foo="staticAccessor")]
-		public static function set testStaticWriteonly(value:String):void{
-			
-		}
-		
-		[TestMeta(foo="staticAccessor")]
-		public static function get testStaticReadeWrite():String{
-			return null
-		}
-		public static function set testStaticReadeWrite(value:String):void{
-			
-		}
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexunit/framework/Assert.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexunit/framework/Assert.as b/manualtests/GenericTests/src/flexunit/framework/Assert.as
deleted file mode 100644
index 171f695..0000000
--- a/manualtests/GenericTests/src/flexunit/framework/Assert.as
+++ /dev/null
@@ -1,305 +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 flexunit.framework
-{
-	//import flexunit.framework.AssertionFailedError;
- 	
-	/**
-	 * A set of assert methods.  Messages are only displayed when an assert fails.
-	 */
-	public class Assert
-	{
-		/**
-		 * @private
-		 */
-		public static var _assertCount:uint = 0;
-		
-		/**
-		 * Returns the number of assertions that have been made
-		 */
-		public static function get assertionsMade() : uint {
-			return _assertCount;
-		}
-		
-		
-		/**
-		 * Resets the count for the number of assertions that have been made back to zero
-		 */
-		public static function resetAssertionsFields() : void {
-			_assertCount = 0;
-		}
-		
-		/**
-		 * @private
-		 */
-		public static function assertWithApply( asserter:Function, args:Array ):void {
-			_assertCount++;
-			asserter.apply( null, args );
-		}
-
-		/**
-		 * @private
-		 */
-		public static function assertWith( asserter:Function, ...rest ):void {
-			_assertCount++;
-			asserter.apply( null, rest );
-		}
-
-		/**
-		 * Asserts that two provided values are equal.
-		 * 
-		 * @param asserter The function to use for assertion. 
-		 * @param rest
-		 * 			Must be passed at least 2 arguments of type Object to compare for equality.
-		 * 			If three arguments are passed, the first argument must be a String
-		 * 			and will be used as the error message.
-		 *          The first of the comparison arguments represents the expected result
-		 *          The second is the actual result to compare with the expected result.
-		 * 
-		 * 			<code>assertEquals( String, Object, Object );</code>
-		 * 			<code>assertEquals( Object, Object );</code>
-		 */
-		public static function assertEquals(... rest):void
-		{
-			_assertCount++;
-			if ( rest.length == 3 )
-				failNotEquals( rest[0], rest[1], rest[2] );
-			else
-				failNotEquals( "", rest[0], rest[1] );
-		}
-	
-        /**
-         * @private
-         */
-		public static function failNotEquals( message:String, expected:Object, actual:Object ):void
-		{
-			if ( expected != actual )
-			   failWithUserMessage( message, "expected:<" + expected + "> but was:<" + actual + ">" );
-		}
-	
-		/**
-		 * /**
-		 * Asserts that the provided values are strictly equal.
-		 * 
-		 * @param rest
-		 * 			Must be passed at least 2 arguments of type Object to compare for strict equality.
-		 * 			If three arguments are passed, the first argument must be a String
-		 * 			and will be used as the error message.
-		 *          The first of the comparison arguments represents the expected result
-		 *          The second is the actual result to compare with the expected result.
-		 * 
-		 * 			<code>assertStrictlyEquals( String, Object, Object );</code>
-		 * 			<code>assertStrictlyEquals( Object, Object );</code>
-		 */
-		public static function assertStrictlyEquals(... rest):void
-		{
-			_assertCount++;
-			if ( rest.length == 3 )
-				failNotStrictlyEquals( rest[0], rest[1], rest[2] );
-			else
-				failNotStrictlyEquals( "", rest[0], rest[1] );
-		}
-	
-        /**
-         * @private
-         */
-		public static function failNotStrictlyEquals( message:String, expected:Object, actual:Object ):void
-		{
-			if ( expected !== actual )
-			   failWithUserMessage( message, "expected:<" + expected + "> but was:<" + actual + ">" );
-		}
-	
-		/**
-		 * Asserts that a condition is true.
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Boolean.
-		 * 			If two arguments are passed the first argument must be a String 
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertTrue( String, Boolean );</code>
-		 * 			<code>assertTrue( Boolean );</code>
-		 */
-		public static function assertTrue(... rest):void
-		{
-			_assertCount++;
-			if ( rest.length == 2 )
-				failNotTrue( rest[0], rest[1] );
-			else
-				failNotTrue( "", rest[0] );
-		}
-	
-        /**
-         * Asserts that a condition is not true.
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Boolean.
-		 * 			If two arguments are passed the first argument must be a String 
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertTrue( String, Boolean );</code>
-		 * 			<code>assertTrue( Boolean );</code>
-         */
-		public static function failNotTrue( message:String, condition:Boolean ):void
-		{
-			if ( !condition )
-			   failWithUserMessage( message, "expected true but was false" );
-		}
-	
-		/**
-         * Asserts that a condition is false.
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Boolean.
-		 * 			If two arguments are passed the first argument must be a String
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertFalse( String, Boolean );</code>
-		 * 			<code>assertFalse( Boolean );</code>
-		 */
-		public static function assertFalse(... rest):void
-		{
-			_assertCount++;
-			if ( rest.length == 2 )
-				failTrue( rest[0], rest[1] );
-			else
-				failTrue( "", rest[0] );
-		}
-	
-        /**
-         * Asserts that a condition is false. 
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Boolean.
-		 * 			If two arguments are passed the first argument must be a String 
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertTrue( String, Boolean );</code>
-		 * 			<code>assertTrue( Boolean );</code>
-         */
-		public static function failTrue( message:String, condition:Boolean ):void
-		{
-			if ( condition )
-			   failWithUserMessage( message, "expected false but was true" );
-		}
-	
-		//TODO:  (<code>null</code> okay) needs removal?
-		/**
-		 * Asserts that an object is null.
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Object.
-		 * 			If two arguments are passed the first argument must be a String
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertNull( String, Object );</code>
-		 * 			<code>assertNull( Object );</code>
-		 * 
-		 */
-		public static function assertNull(... rest):void
-		{
-			_assertCount++;
-			if ( rest.length == 2 )
-				failNotNull( rest[0], rest[1] );
-			else
-				failNotNull( "", rest[0] );
-		}
-	
-        /**
-         * Asserts that an object is not null. 
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Boolean.
-		 * 			If two arguments are passed the first argument must be a String 
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertTrue( String, Boolean );</code>
-		 * 			<code>assertTrue( Boolean );</code>
-         */
-		public static function failNull( message:String, object:Object ):void
-		{
-			if ( object == null )
-			   failWithUserMessage( message, "object was null: " + object );
-		}
-	
-		//TODO:  (<code>null</code> okay) needs removal?
-		/**
-		 * Asserts that an object is not null.
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Object.
-		 * 			If two arguments are passed the first argument must be a String
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertNotNull( String, Object );</code>
-		 * 			<code>assertNotNull( Object );</code>
-		 */
-		public static function assertNotNull(... rest):void
-		{
-			_assertCount++;
-			if ( rest.length == 2 )
-				failNull( rest[0], rest[1] );
-			else
-				failNull( "", rest[0] );
-		}
-	
-        /**
-         * Asserts that an object is not null.
-		 * 
-		 * @param rest
-		 * 			Accepts an argument of type Boolean.
-		 * 			If two arguments are passed the first argument must be a String 
-		 * 			and will be used as the error message.
-		 * 			
-		 * 			<code>assertTrue( String, Boolean );</code>
-		 * 			<code>assertTrue( Boolean );</code>
-         */
-		public static function failNotNull( message:String, object:Object ):void
-		{
-			if ( object != null )
-			   failWithUserMessage( message, "object was not null: " + object );
-		}
-		//TODO:  (<code>null</code> okay) needs removal?
-		/**
-		 * Fails a test with the argument message.
-		 * 
-		 * @param failMessage
-		 *            the identifying message for the <code> AssertionFailedError</code> (<code>null</code>
-		 *            okay)
-		 * @see AssertionFailedError
-		 */
-		public static function fail( failMessage:String = ""):void
-		{
-			var error:AssertionFailedError = new AssertionFailedError(failMessage);
-			//this seems necessary for js:
-			if (error.message!=failMessage) error.message = failMessage;
-			throw error;
-		}
-	
-
-        /**
-         * @private
-         */
-		private static function failWithUserMessage( userMessage:String, failMessage:String ):void
-		{
-			if ( userMessage.length > 0 )
-				userMessage = userMessage + " - ";
-			failMessage = userMessage + failMessage;
-			fail(failMessage);
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/GenericTests/src/flexunit/framework/AssertionFailedError.as
----------------------------------------------------------------------
diff --git a/manualtests/GenericTests/src/flexunit/framework/AssertionFailedError.as b/manualtests/GenericTests/src/flexunit/framework/AssertionFailedError.as
deleted file mode 100644
index 359361f..0000000
--- a/manualtests/GenericTests/src/flexunit/framework/AssertionFailedError.as
+++ /dev/null
@@ -1,39 +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 flexunit.framework
-{
-	/**
-	 * <code>Error</code> class used for failures in assertions
-	 * 
-	 * @see Assert
-	 */
-	public class AssertionFailedError extends Error
-	{
-		/**
-		 * Throws a new <code>Error</code> of type <code>AssertionError</code>
-		 * with the passed in message
-		 * 
-		 * @param message The message associated with the error (<code>null</code> okay)
-		 * @param id The id of the error if desired (<code>null</code> okay)
-		 */
-		public function AssertionFailedError(message:String="", id:int=0)
-		{
-			super(message, id);
-		}
-		
-	}
-}
\ No newline at end of file


[24/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - FLEX-35354 - Rename TabsItemRendererFactoryForArrayListData to TabsDynamicItemsRendererFactoryForArrayListData - Update TabsDynamicItemsRendererFactoryForArrayListData with new implement

Posted by pe...@apache.org.
FLEX-35354 - Rename TabsItemRendererFactoryForArrayListData  to TabsDynamicItemsRendererFactoryForArrayListData
- Update TabsDynamicItemsRendererFactoryForArrayListData with new implementation of DynamicItemsRendererFactoryForArrayListData
- Update example MDLDynamicTabsExample


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/5b8f1c58
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/5b8f1c58
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/5b8f1c58

Branch: refs/heads/feature/dragAndDrop
Commit: 5b8f1c5898c776eb7470e855073833e68e794a6d
Parents: 56e467a
Author: piotrz <pi...@apache.org>
Authored: Wed Aug 23 23:53:09 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Wed Aug 23 23:53:09 2017 +0200

----------------------------------------------------------------------
 .../src/main/flex/views/InitialView.mxml        |  24 ++-
 .../src/main/resources/mdl-styles.css           |   2 +-
 .../src/main/flex/MDLClasses.as                 |   2 +-
 ...namicItemsRendererFactoryForArrayListData.as | 108 ++++++++++
 .../TabsItemRendererFactoryForArrayListData.as  | 206 -------------------
 .../org/apache/flex/mdl/beads/views/TabsView.as |   6 +-
 .../src/main/resources/defaults.css             |   4 +-
 7 files changed, 129 insertions(+), 223 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/examples/flexjs/MDLDynamicTabsExample/src/main/flex/views/InitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTabsExample/src/main/flex/views/InitialView.mxml b/examples/flexjs/MDLDynamicTabsExample/src/main/flex/views/InitialView.mxml
index 5523b6f..1482982 100644
--- a/examples/flexjs/MDLDynamicTabsExample/src/main/flex/views/InitialView.mxml
+++ b/examples/flexjs/MDLDynamicTabsExample/src/main/flex/views/InitialView.mxml
@@ -39,14 +39,18 @@ limitations under the License.
 	<mdl:model>
 		<models:TabsModel id="tabsModel"/>
 	</mdl:model>
-	<mdl:Tabs id="myTabs" selectedIndex="1" tabIdField="tabId" labelField="label" className="customTabs"
-			  dataProvider="{tabsModel.tabs}" width="500">
-		<mdl:beads>
-			<js:DataProviderCollectionChangeNotifier sourceID="tabsModel" propertyName="tabs"
-													 destinationPropertyName="dataProvider" changeEventName="dataProviderChanged"  />
-			<js:DataProviderItemsChangeNotifier sourceID="tabsModel" propertyName="tabs"
-												destinationPropertyName="dataProvider" changeEventName="dataProviderChanged"  />
-		</mdl:beads>
-	</mdl:Tabs>
-	<mdl:Button text="Add new Tab" click="onAddNewTabClick(event)"/>
+	<mdl:GridCell column="6">
+		<mdl:Tabs id="myTabs" selectedIndex="1" tabIdField="tabId" labelField="label" className="customTabs"
+				  dataProvider="{tabsModel.tabs}" width="500">
+			<mdl:beads>
+				<js:DataProviderCollectionChangeNotifier sourceID="tabsModel" propertyName="tabs"
+														 destinationPropertyName="dataProvider" changeEventName="dataProviderChanged"  />
+				<js:DataProviderItemsChangeNotifier sourceID="tabsModel" propertyName="tabs"
+													destinationPropertyName="dataProvider" changeEventName="dataProviderChanged"  />
+			</mdl:beads>
+		</mdl:Tabs>
+	</mdl:GridCell>
+	<mdl:GridCell>
+		<mdl:Button text="Add new Tab" click="onAddNewTabClick(event)"/>
+	</mdl:GridCell>
 </mdl:Grid>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/examples/flexjs/MDLDynamicTabsExample/src/main/resources/mdl-styles.css
----------------------------------------------------------------------
diff --git a/examples/flexjs/MDLDynamicTabsExample/src/main/resources/mdl-styles.css b/examples/flexjs/MDLDynamicTabsExample/src/main/resources/mdl-styles.css
index 8d52a54..e713389 100644
--- a/examples/flexjs/MDLDynamicTabsExample/src/main/resources/mdl-styles.css
+++ b/examples/flexjs/MDLDynamicTabsExample/src/main/resources/mdl-styles.css
@@ -27,5 +27,5 @@
 {
   IItemRenderer: ClassReference("itemRenderers.CustomTabBarPanelItemRenderer");
   IBeadModel: ClassReference("org.apache.flex.mdl.beads.models.TabArrayListModel");
-  IDataProviderItemRendererMapper: ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData");
+  IDataProviderItemRendererMapper: ClassReference("org.apache.flex.mdl.beads.TabsDynamicItemsRendererFactoryForArrayListData");
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/frameworks/projects/MaterialDesignLite/src/main/flex/MDLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/MDLClasses.as b/frameworks/projects/MaterialDesignLite/src/main/flex/MDLClasses.as
index d9ac1ac..00ffe9d 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/MDLClasses.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/MDLClasses.as
@@ -28,7 +28,7 @@ package
 	internal class MDLClasses
 	{
 		import org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayData; TabsItemRendererFactoryForArrayData;
-		import org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData; TabsItemRendererFactoryForArrayListData;
+		import org.apache.flex.mdl.beads.TabsDynamicItemsRendererFactoryForArrayListData; TabsDynamicItemsRendererFactoryForArrayListData;
 		import org.apache.flex.mdl.beads.models.TabArrayModel; TabArrayModel;
 		import org.apache.flex.mdl.beads.models.TabArrayListModel; TabArrayListModel;
 		import org.apache.flex.mdl.beads.models.ToastModel; ToastModel;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsDynamicItemsRendererFactoryForArrayListData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsDynamicItemsRendererFactoryForArrayListData.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsDynamicItemsRendererFactoryForArrayListData.as
new file mode 100644
index 0000000..371f79b
--- /dev/null
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsDynamicItemsRendererFactoryForArrayListData.as
@@ -0,0 +1,108 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.mdl.beads
+{
+    import org.apache.flex.collections.IArrayList;
+    import org.apache.flex.core.IListPresentationModel;
+    import org.apache.flex.events.CollectionEvent;
+
+    import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.html.beads.DynamicItemsRendererFactoryForArrayListData;
+    import org.apache.flex.mdl.beads.models.ITabModel;
+    import org.apache.flex.mdl.supportClasses.ITabItemRenderer;
+    import org.apache.flex.events.Event;
+
+    [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
+
+    /**
+     *  The TabsDynamicItemsRendererFactoryForArrayListData class reads an
+     *  array of data and creates an item renderer for every
+     *  ITabItemRenderer in the array.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.8
+     */
+    public class TabsDynamicItemsRendererFactoryForArrayListData extends DynamicItemsRendererFactoryForArrayListData
+    {
+        public function TabsDynamicItemsRendererFactoryForArrayListData(target:Object = null)
+        {
+            super(target);
+        }
+
+        protected var tabsIdField:String;
+
+        /**
+         *  finish setup
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.8
+         */
+        override protected function initComplete(event:Event):void
+        {
+            var model:ITabModel = _strand.getBeadByType(ITabModel) as ITabModel;
+            tabsIdField = model.tabIdField;
+
+            super.initComplete(event);
+        }
+
+        override protected function dataProviderChangeHandler(event:Event):void
+        {
+            var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
+            if (!dp)
+                return;
+
+            dataGroup.removeAllItemRenderers();
+
+            var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
+
+            var n:int = dp.length;
+            for (var i:int = 0; i < n; i++)
+            {
+                var ir:ITabItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITabItemRenderer;
+                ir.tabIdField = tabsIdField;
+
+                var item:Object = dp.getItemAt(i);
+                fillRenderer(i, item, ir, presentationModel);
+            }
+
+            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+        }
+
+        override protected function itemAddedHandler(event:CollectionEvent):void
+        {
+            var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
+            if (!dp)
+                return;
+
+            var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
+
+            var ir:ITabItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITabItemRenderer;
+            ir.tabIdField = tabsIdField;
+
+            var index:int = dp.length - 1;
+            fillRenderer(index, event.item, ir, presentationModel);
+
+            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
deleted file mode 100644
index c323332..0000000
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
+++ /dev/null
@@ -1,206 +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 org.apache.flex.mdl.beads
-{
-    import org.apache.flex.collections.IArrayList;
-    import org.apache.flex.core.IBead;
-    import org.apache.flex.core.IDataProviderItemRendererMapper;
-    import org.apache.flex.core.IItemRendererClassFactory;
-    import org.apache.flex.core.IItemRendererParent;
-    import org.apache.flex.core.IListPresentationModel;
-    import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.SimpleCSSStyles;
-    import org.apache.flex.core.UIBase;
-    import org.apache.flex.core.ValuesManager;
-    import org.apache.flex.events.CollectionEvent;
-
-    import org.apache.flex.events.EventDispatcher;
-    import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.html.beads.IListView;
-    import org.apache.flex.mdl.beads.models.ITabModel;
-    import org.apache.flex.mdl.supportClasses.ITabItemRenderer;
-    import org.apache.flex.events.Event;
-
-    [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
-    /**
-     *  The TabsItemRendererFactoryForArrayListData class reads an
-     *  array of data and creates an item renderer for every
-     *  ITabItemRenderer in the array.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.8
-     */
-    public class TabsItemRendererFactoryForArrayListData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
-    {
-        public function TabsItemRendererFactoryForArrayListData(target:Object = null)
-        {
-            super(target);
-        }
-
-        protected var dataProviderModel:ITabModel;
-
-        protected var labelField:String;
-        protected var tabsIdField:String;
-
-        private var _strand:IStrand;
-
-        /**
-         *  @copy org.apache.flex.core.IBead#strand
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.8
-         */
-        public function set strand(value:IStrand):void
-        {
-            _strand = value;
-            IEventDispatcher(value).addEventListener("initComplete",finishSetup);
-        }
-
-        /**
-         *  finish setup
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.8
-         */
-        private function finishSetup(event:Event):void
-        {
-            IEventDispatcher(_strand).removeEventListener("initComplete",finishSetup);
-
-            dataProviderModel = _strand.getBeadByType(ITabModel) as ITabModel;
-            var listView:IListView = _strand.getBeadByType(IListView) as IListView;
-            dataGroup = listView.dataGroup;
-            dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-            dataProviderModel.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler);
-
-            tabsIdField = dataProviderModel.tabIdField;
-            labelField = dataProviderModel.labelField;
-
-            dataProviderChangeHandler(null);
-        }
-
-        private var _itemRendererFactory:IItemRendererClassFactory;
-
-        /**
-         *  The org.apache.flex.core.IItemRendererClassFactory used
-         *  to generate instances of item renderers.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.8
-         */
-        public function get itemRendererFactory():IItemRendererClassFactory
-        {
-			if (_itemRendererFactory == null) {
-				var factory:IItemRendererClassFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-				if (factory == null) {
-					factory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-					_strand.addBead(factory);
-				}
-				_itemRendererFactory = factory;
-			}
-            return _itemRendererFactory;
-        }
-
-        /**
-         *  @private
-         */
-        public function set itemRendererFactory(value:IItemRendererClassFactory):void
-        {
-            _itemRendererFactory = value;
-        }
-
-        /**
-         *  The org.apache.flex.core.IItemRendererParent that will
-         *  parent the item renderers.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.8
-         */
-        protected var dataGroup:IItemRendererParent;
-
-        protected function dataProviderChangeHandler(event:Event):void
-        {
-            var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
-            if (!dp)
-                return;
-
-            dataGroup.removeAllItemRenderers();
-
-            var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-
-            var n:int = dp.length;
-            for (var i:int = 0; i < n; i++)
-            {
-                var ir:ITabItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITabItemRenderer;
-                dataGroup.addItemRenderer(ir);
-                ir.index = i;
-                ir.labelField = labelField;
-                ir.tabIdField = tabsIdField;
-
-                if (presentationModel) {
-                    var style:SimpleCSSStyles = new SimpleCSSStyles();
-                    style.marginBottom = presentationModel.separatorThickness;
-                    UIBase(ir).style = style;
-                    UIBase(ir).height = presentationModel.rowHeight;
-                    UIBase(ir).percentWidth = 100;
-                }
-                ir.data = dp.getItemAt(i);
-            }
-
-            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-        }
-
-        private function itemAddedHandler(event:CollectionEvent):void
-        {
-            var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
-            if (!dp)
-                return;
-
-            var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-
-            var ir:ITabItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITabItemRenderer;
-            dataGroup.addItemRenderer(ir);
-            
-            ir.index = dp.length - 1;
-            ir.labelField = labelField;
-            ir.tabIdField = tabsIdField;
-
-            if (presentationModel) {
-                var style:SimpleCSSStyles = new SimpleCSSStyles();
-                style.marginBottom = presentationModel.separatorThickness;
-                UIBase(ir).style = style;
-                UIBase(ir).height = presentationModel.rowHeight;
-                UIBase(ir).percentWidth = 100;
-            }
-            ir.data = event.item;
-
-            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
index ffe291a..34c09f2 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
@@ -26,7 +26,7 @@ package org.apache.flex.mdl.beads.views
     import org.apache.flex.core.IStrand;
     import org.apache.flex.mdl.TabBar;
     import org.apache.flex.mdl.TabBarPanel;
-    import org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData;
+    import org.apache.flex.mdl.beads.TabsDynamicItemsRendererFactoryForArrayListData;
     import org.apache.flex.mdl.supportClasses.ITabItemRenderer;
 
     /**
@@ -166,8 +166,8 @@ package org.apache.flex.mdl.beads.views
 
         public function isTabsDynamic():Boolean
         {
-            var arrayListMapper:TabsItemRendererFactoryForArrayListData =
-                    _strand.getBeadByType(IDataProviderItemRendererMapper) as TabsItemRendererFactoryForArrayListData;
+            var arrayListMapper:TabsDynamicItemsRendererFactoryForArrayListData =
+                    _strand.getBeadByType(IDataProviderItemRendererMapper) as TabsDynamicItemsRendererFactoryForArrayListData;
             return arrayListMapper != null;
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5b8f1c58/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css b/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
index f8b3b05..9e5ece7 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
+++ b/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
@@ -122,7 +122,7 @@ Tabs
     IBeadView: ClassReference("org.apache.flex.mdl.beads.views.TabsView");
     IBeadModel: ClassReference("org.apache.flex.mdl.beads.models.TabArrayModel");
     IBeadLayout: ClassReference(null);
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.mdl.beads.TabsDynamicItemsRendererFactoryForArrayListData");
     IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: ClassReference("org.apache.flex.mdl.itemRenderers.TabBarPanelItemRenderer");
 }
@@ -132,7 +132,7 @@ TabBar
     IBeadView: ClassReference("org.apache.flex.mdl.beads.views.TabBarView");
     IBeadModel: ClassReference("org.apache.flex.mdl.beads.models.TabArrayModel");
     IBeadLayout: ClassReference(null);
-    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData");
+    IDataProviderItemRendererMapper: ClassReference("org.apache.flex.mdl.beads.TabsDynamicItemsRendererFactoryForArrayListData");
     IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: ClassReference("org.apache.flex.mdl.itemRenderers.TabBarButtonTabsItemRenderer");
 }


[07/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - FLEX-35350 - THead and TBody need to be created a bit early cause MDL complaining with NPE when dataProvider is null

Posted by pe...@apache.org.
FLEX-35350 - THead and TBody need to be created a bit early cause MDL complaining with NPE when dataProvider is null


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

Branch: refs/heads/feature/dragAndDrop
Commit: d52d531b04895d7ecc38167c96a08d9ca9e75594
Parents: 10163b7
Author: piotrz <pi...@apache.org>
Authored: Tue Aug 22 00:23:26 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Tue Aug 22 00:23:26 2017 +0200

----------------------------------------------------------------------
 .../src/main/flex/org/apache/flex/mdl/Table.as  | 26 ++++++++------------
 1 file changed, 10 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d52d531b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
index 2513548..d4a7514 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Table.as
@@ -102,9 +102,6 @@ package org.apache.flex.mdl
 		{
             COMPILE::JS
             {
-				addTHeadToParent();
-				addTBodyToParent();
-
 				if (_isTheadAddedToParent && _isTbodyAddedToParent)
                 {
                     tbody.addElement(c);
@@ -172,12 +169,12 @@ package org.apache.flex.mdl
 
 			element = document.createElement('table') as WrappedHTMLElement;
 
-            thead = new THead();
-			tbody = new TBody();
-
 			positioner = element;
             element.flexjs_wrapper = this;
 
+            addTHeadToParent();
+            addTBodyToParent();
+
             return element;
         }
 
@@ -242,11 +239,10 @@ package org.apache.flex.mdl
         {
             if (_isTheadAddedToParent) return;
 
-            if (thead)
-            {
-                super.addElement(thead);
-				_isTheadAddedToParent = true;
-            }
+			thead = new THead();
+			super.addElement(thead);
+
+			_isTheadAddedToParent = true;
         }
 
         COMPILE::JS
@@ -254,11 +250,9 @@ package org.apache.flex.mdl
 		{
 			if (_isTbodyAddedToParent) return;
 
-			if (tbody)
-            {
-                super.addElement(tbody);
-				_isTbodyAddedToParent = true;
-            }
+            tbody = new TBody();
+            super.addElement(tbody);
+			_isTbodyAddedToParent = true;
 		}
 	}
 }


[25/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Added helper function

Posted by pe...@apache.org.
Added helper function


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

Branch: refs/heads/feature/dragAndDrop
Commit: daca90f9e688a3ac79edd569f759df2b5ba89b80
Parents: 5b8f1c5
Author: Harbs <ha...@in-tools.com>
Authored: Sun Aug 27 07:43:25 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Sun Aug 27 07:43:25 2017 +0300

----------------------------------------------------------------------
 .../Basic/src/main/flex/BasicClasses.as         |  4 ++++
 .../org/apache/flex/html/addElementToWrapper.as | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/daca90f9/frameworks/projects/Basic/src/main/flex/BasicClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/BasicClasses.as b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
index 697efa8..bc62158 100644
--- a/frameworks/projects/Basic/src/main/flex/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
@@ -27,6 +27,10 @@ package
  */
 internal class BasicClasses
 {
+	COMPILE::JS
+	{
+		import org.apache.flex.html.addElementToWrapper; addElementToWrapper;
+	}
     import org.apache.flex.html.ToolTip; ToolTip;
 	import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
     import org.apache.flex.html.beads.DispatchInputFinishedBead; DispatchInputFinishedBead;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/daca90f9/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
new file mode 100644
index 0000000..0c4427c
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
@@ -0,0 +1,20 @@
+package org.apache.flex.html
+{
+    COMPILE::JS
+    {
+        import org.apache.flex.core.UIBase;
+        import org.apache.flex.core.WrappedHTMLElement;
+    }
+
+    /**
+     * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+     */
+    COMPILE::JS
+    public function addElementToWrapper(wrapper:UIBase,type:String):WrappedHTMLElement
+    {
+        var elem:WrappedHTMLElement = document.createElement(type) as WrappedHTMLElement;
+			wrapper.positioner = wrapper.element = elem;
+			elem.flexjs_wrapper = wrapper;
+            return elem;
+    }
+}
\ No newline at end of file


[19/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Fixed a few errors in DataGridXcompile

Posted by pe...@apache.org.
Fixed a few errors in DataGridXcompile


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

Branch: refs/heads/feature/dragAndDrop
Commit: f0ddbd345147baa20c661b4d1499d0ff7ef7c868
Parents: ebc568a
Author: Harbs <ha...@in-tools.com>
Authored: Tue Aug 22 11:01:33 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Tue Aug 22 11:01:33 2017 +0300

----------------------------------------------------------------------
 .../apache/flex/html/customControls/beads/DataGridView.as |  8 ++++++++
 .../apache/flex/html/staticControls/beads/BoxGridView.as  | 10 +++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0ddbd34/manualtests/DataGridXcompile/src/org/apache/flex/html/customControls/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/manualtests/DataGridXcompile/src/org/apache/flex/html/customControls/beads/DataGridView.as b/manualtests/DataGridXcompile/src/org/apache/flex/html/customControls/beads/DataGridView.as
index 15fe694..ba189d2 100644
--- a/manualtests/DataGridXcompile/src/org/apache/flex/html/customControls/beads/DataGridView.as
+++ b/manualtests/DataGridXcompile/src/org/apache/flex/html/customControls/beads/DataGridView.as
@@ -26,6 +26,7 @@ package org.apache.flex.html.customControls.beads
 	import org.apache.flex.core.IDataGridModel;
 	import org.apache.flex.core.IDataGridPresentationModel;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
@@ -145,5 +146,12 @@ package org.apache.flex.html.customControls.beads
 			
 			IEventDispatcher(_strand).dispatchEvent(new Event('change'));
 		}
+		/**
+		 * @flexjsignorecoercion org.apache.flex.core.IUIBase
+		 */
+		public function get host():IUIBase
+		{
+			return _strand as IUIBase;
+		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f0ddbd34/manualtests/DataGridXcompile/src/org/apache/flex/html/staticControls/beads/BoxGridView.as
----------------------------------------------------------------------
diff --git a/manualtests/DataGridXcompile/src/org/apache/flex/html/staticControls/beads/BoxGridView.as b/manualtests/DataGridXcompile/src/org/apache/flex/html/staticControls/beads/BoxGridView.as
index a9d7b8f..7a75394 100644
--- a/manualtests/DataGridXcompile/src/org/apache/flex/html/staticControls/beads/BoxGridView.as
+++ b/manualtests/DataGridXcompile/src/org/apache/flex/html/staticControls/beads/BoxGridView.as
@@ -16,10 +16,11 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
+package org.apache.flex.html.staticControls.beads
 {
 	import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.html.Label;
 	
@@ -44,5 +45,12 @@ package org.apache.flex.html.beads
 			label.height = 25;
 			UIBase(_strand).addElement(label);
 		}
+		/**
+		 * @flexjsignorecoercion org.apache.flex.core.IUIBase
+		 */
+		public function get host():IUIBase
+		{
+			return _strand as IUIBase;
+		}
 	}
 }


[26/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Added missing pieces for TextBlock management Fixed bug in GroupElement.replaceElements()

Posted by pe...@apache.org.
Added missing pieces for TextBlock management
Fixed bug in GroupElement.replaceElements()


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

Branch: refs/heads/feature/dragAndDrop
Commit: f4276e0dd628a0a3a22a33d1890ea3c1e1943b5a
Parents: daca90f
Author: Harbs <ha...@in-tools.com>
Authored: Sun Aug 27 07:46:55 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Sun Aug 27 07:46:55 2017 +0300

----------------------------------------------------------------------
 .../apache/flex/text/engine/ContentElement.as   | 25 ++++++++++++++++----
 .../org/apache/flex/text/engine/GroupElement.as | 21 ++++++++++++++--
 .../org/apache/flex/text/engine/ITextBlock.as   |  3 +++
 .../flex/org/apache/flex/text/html/TextBlock.as |  4 ++++
 4 files changed, 47 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4276e0d/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ContentElement.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ContentElement.as b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ContentElement.as
index 1b35305..e1358a4 100644
--- a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ContentElement.as
+++ b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ContentElement.as
@@ -44,10 +44,18 @@ package org.apache.flex.text.engine
 		/**
 		 * The parent
 		 */
-		public function get groupElement() : GroupElement
+		private var _groupElement:GroupElement;
+		public function get groupElement():GroupElement
 		{
+			if(_groupElement)
+				return _groupElement.getElementIndex(this) < 0 ? null : _groupElement;
 			return null;
 		}
+		public function set groupElement(value:GroupElement):void
+		{
+			_groupElement = value;
+		}
+		
 		public function get rawText() : String
 		{
 			return null;
@@ -56,13 +64,22 @@ package org.apache.flex.text.engine
 		{
 			return null;
 		}
-		public function get textBlock() : ITextBlock
+
+		private var _textBlock:ITextBlock;
+		public function get textBlock():ITextBlock
 		{
-			return null;
+			if(groupElement)
+				return groupElement.textBlock;
+			return _textBlock;
 		}
+		public function set textBlock(value:ITextBlock):void
+		{
+			_textBlock = value;
+		}
+		
 		public function get textBlockBeginIndex() : int
 		{
-			return null;
+			return textBlock ? textBlock.getRelativeStart(this) : 0;
 		}
 
 		public var textRotation : String

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4276e0d/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
index a61c97f..7d5d928 100644
--- a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
+++ b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
@@ -20,6 +20,7 @@ package org.apache.flex.text.engine
 {
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.text.engine.TextElement;
+	import org.apache.flex.text.engine.GroupElement;
 	
 	public class GroupElement extends ContentElement
 	{
@@ -27,7 +28,10 @@ package org.apache.flex.text.engine
 		{
 			super(elementFormat, eventMirror, textRotation);
 			if(elements)
+			{
 				_elements = elements;
+				setElementsGroup(this);
+			}	
 			else
 				_elements = new Vector.<ContentElement>();
 		}
@@ -67,6 +71,7 @@ package org.apache.flex.text.engine
 		}
 		public function replaceElements(beginIndex:int, endIndex:int, newElements:Vector.<ContentElement>):Vector.<ContentElement>
 		{
+			setElementsGroup(null);
             COMPILE::SWF
             {
                 var args:Array = [beginIndex, endIndex-beginIndex];
@@ -79,15 +84,25 @@ package org.apache.flex.text.engine
             }
             COMPILE::JS
             {
-    			var args:Array = [beginIndex, endIndex-beginIndex].concat(newElements);
+    			var args:Array = [beginIndex, endIndex-beginIndex];
+				// don't concat null
+				if(newElements)
+					args = args.concat(newElements);
 			// _elements.splice(beginIndex,endIndex-beginIndex);
             }
-            _elements.splice.apply(_elements, args);                    
+            _elements.splice.apply(_elements, args);
+			setElementsGroup(this);
 			return _elements;
 		}
 		public function setElements(value:Vector.<ContentElement>):void
 		{
 			_elements = value;
+			setElementsGroup(this);
+		}
+		private function setElementsGroup(group:GroupElement):void
+		{
+			for(var i:int=0; i<_elements.length; i++)
+				_elements[i].groupElement = group;
 		}
 		public function splitTextElement(elementIndex:int, splitIndex:int):TextElement
 		{
@@ -101,7 +116,9 @@ package org.apache.flex.text.engine
 			var nextText:String = textElem.rawText.substr(splitIndex);
 			var newElem:TextElement = new TextElement(nextText,textElem.elementFormat,textElem.eventMirror,textElem.textRotation);
 			textElem.text = firstText;
+			newElem.groupElement = this;
 			_elements.splice(elementIndex+1,0,newElem);
+			
 			return newElem;
 		}
 		public function ungroupElements(groupIndex:int):void

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4276e0d/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ITextBlock.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ITextBlock.as b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ITextBlock.as
index 7f9be7c..8d51b90 100644
--- a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ITextBlock.as
+++ b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/ITextBlock.as
@@ -19,6 +19,7 @@
 package org.apache.flex.text.engine
 {
 	import org.apache.flex.text.engine.ITextFactory;
+	import org.apache.flex.text.engine.ContentElement;
 
 	public interface ITextBlock
 	{
@@ -64,5 +65,7 @@ package org.apache.flex.text.engine
 		function releaseLineCreationData():void;
 		function releaseLines(firstLine:ITextLine, lastLine:ITextLine):void;
 
+		function getRelativeStart(element:ContentElement):int;
+
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4276e0d/frameworks/projects/Text/src/main/flex/org/apache/flex/text/html/TextBlock.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/html/TextBlock.as b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/html/TextBlock.as
index cb9cd5d..45f461a 100644
--- a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/html/TextBlock.as
+++ b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/html/TextBlock.as
@@ -279,6 +279,10 @@ package org.apache.flex.text.html
 		{
 			lines.length = 0;
 		}
+		public function getRelativeStart(element:ContentElement):int
+		{
+			return 0;
+		}
 
 	}
 }
\ No newline at end of file


[28/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - Forgot header

Posted by pe...@apache.org.
Forgot header


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/37dc6003
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/37dc6003
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/37dc6003

Branch: refs/heads/feature/dragAndDrop
Commit: 37dc60031f86d70159826770a9ea021046f65977
Parents: f19d967
Author: Harbs <ha...@in-tools.com>
Authored: Sun Aug 27 12:40:02 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Sun Aug 27 12:40:02 2017 +0300

----------------------------------------------------------------------
 .../org/apache/flex/html/addElementToWrapper.as   | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/37dc6003/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
index 0c4427c..f7638ba 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/addElementToWrapper.as
@@ -1,3 +1,21 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.html
 {
     COMPILE::JS


[12/32] git commit: [flex-asjs] [refs/heads/feature/dragAndDrop] - -refactored ant builds of manual tests to be closer to examples, and support for 'maven_compat' from test level ant scripts. -renamed GenericTests to UnitTests and fixed some display issu

Posted by pe...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/core/StrandTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/core/StrandTesterTest.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/core/StrandTesterTest.as
new file mode 100644
index 0000000..f6715bb
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/core/StrandTesterTest.as
@@ -0,0 +1,55 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.core
+{
+    import flexunit.framework.Assert;
+    
+    import org.apache.flex.core.Strand;
+    
+    public class StrandTesterTest
+    {		
+        [Before]
+        public function setUp():void
+        {
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+        }
+        
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+        }
+        
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+        
+        [Test]
+        public function testIdProperty():void
+        {
+            var strand:Strand = new Strand();
+            strand.id = "foo";
+            Assert.assertEquals("Error testing Srand.id", "foo",strand.id);
+        }        
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/jira/JiraTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/jira/JiraTesterTest.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/jira/JiraTesterTest.as
new file mode 100644
index 0000000..c361f39
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/jira/JiraTesterTest.as
@@ -0,0 +1,73 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.jira
+{
+    import flexunit.framework.Assert;
+
+    
+    public class JiraTesterTest
+    {		
+		public static var isJS:Boolean;
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+            var js:Boolean = false;
+            try {
+                var check:* = getDefinitionByName("flash.system.Capabilities");
+            } catch (e:Error) {
+                js = true;
+            }
+            //if this next reference to 'check' is not included, then the above try/catch code
+            // appears to be optimized away in js-release mode
+            //todo: this is inconsistent with swf, need to create simple test case for jx compiler/gcc
+            if (check == null) {
+                js = true;
+            }
+            isJS = js;
+        }
+		
+		[AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+	
+	
+        [Before]
+        public function setUp():void
+        {
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+        }
+        
+       
+        /*
+		// TEST METHODS 
+		*/
+        
+		//example, postfix the test method with JIRA issue reference:
+        /*[Test]
+        public function testJIRA_FLEX_9999():void
+        {
+
+        }*/    
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/observedbugs/ObservedBugTests.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/observedbugs/ObservedBugTests.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/observedbugs/ObservedBugTests.as
new file mode 100644
index 0000000..ab84f15
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/observedbugs/ObservedBugTests.as
@@ -0,0 +1,91 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.observedbugs
+{
+    import flexunit.framework.Assert;
+    import org.apache.flex.reflection.*;
+    
+    public class ObservedBugTests
+    {		
+       
+        public static var isJS:Boolean;
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+            var js:Boolean = false;
+            try {
+                var check:* = getDefinitionByName("flash.system.Capabilities");
+            } catch (e:Error) {
+                js = true;
+            }
+            //this was originally necessary to avoid a gcc-related bug in js for release mode only
+            if (check == null) {
+                js = true;
+            }
+            isJS = js;
+        }
+        
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+		
+		 [Before]
+        public function setUp():void
+        {
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+        }
+
+
+        [Test]
+        public function testTryCatchJSReleaseModeWorks_a():void
+        {
+            var js:int = 1;
+            try {
+                js = getDefinitionByName("flash.system.Capabilities") != null ? 1 : 0;
+            } catch (e:Error) {
+                js = 2;
+            }
+			
+            Assert.assertTrue("Unexpected value following try/catch",(isJS ? (js == 2) : (js == 1)));
+
+        }
+		
+		//This Observed bug is no longer present 0.9.0
+		//it may be related to a Google Closure Compiler update since it was originally observed
+		//leaving the tests in here for now...
+		//[TestVariance(variance="JS",description="Variance in test, this test fails in JS-Release mode only")]
+        [Test]
+        public function testTryCatchJSReleaseModeFails_b():void
+        {
+            var js:Boolean = false;
+            try {
+                var check:* = getDefinitionByName("flash.system.Capabilities");
+            } catch (e:Error) {
+                js = true;
+            }
+
+            Assert.assertTrue("Unexpected value following try/catch",(isJS ? (js === true) : (js === false)));
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTest.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTest.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTest.as
new file mode 100644
index 0000000..9d39fc9
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTest.as
@@ -0,0 +1,373 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection
+{
+    import flexunit.framework.Assert;
+	import flexUnitTests.reflection.support.*;
+    import org.apache.flex.reflection.*;
+    
+    public class ReflectionTesterTest
+    {		
+       
+        public static var isJS:Boolean;
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+            var js:Boolean = false;
+            try {
+                var check:* = getDefinitionByName("flash.system.Capabilities");
+            } catch (e:Error) {
+                js = true;
+            }
+            //if this next reference to 'check' is not included, then the above try/catch code
+            //appears to be optimized away in js-release mode
+            //a separate test has been created for this
+            if (check == null) {
+                js = true;
+            }
+            isJS = js;
+        }
+        
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+		
+		 [Before]
+        public function setUp():void
+        {
+            TestClass2.testStaticVar = "testStaticVar_val";
+            TestClass2.testStaticWriteOnly = "staticAccessor_initial_value";
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+        }
+
+        private static function retrieveItemWithName(collection:Array, name:String):DefinitionBase {
+            var ret:DefinitionBase;
+            var i:uint=0,l:uint=collection.length;
+            for (;i<l;i++) {
+                if (collection[i].name==name) {
+                    ret = collection[i];
+                    break;
+                }
+            }
+
+            return ret;
+        }
+
+
+        [Test]
+        public function testBasicDescribeTypeClass():void
+        {
+            var def:TypeDefinition = describeType(TestClass2);
+
+            Assert.assertEquals("Unexpected package name",def.packageName,"flexUnitTests.reflection.support");
+            Assert.assertEquals("Unexpected type name",def.name,"TestClass2");
+
+            var variables:Array = def.variables;
+            Assert.assertEquals("unexpected variables length",1,variables.length);
+
+
+            var methods:Array = def.methods;
+            Assert.assertEquals("unexpected methods length",2,methods.length);
+
+            var accessors:Array = def.accessors;
+            Assert.assertEquals("unexpected accessors length",3,accessors.length);
+
+            var constructor:MethodDefinition = def.constructorMethod;
+            Assert.assertEquals("unexpected constructor declaredBy",
+                    "flexUnitTests.reflection.support.TestClass2",
+                    constructor.declaredBy.qualifiedName);
+
+            Assert.assertEquals("unexpected constructor params",
+                    1,
+                    constructor.parameters.length);
+
+            var meta:Array = def.retrieveMetaDataByName("TestMeta");
+            Assert.assertEquals("unexpected class specific meta length",
+                    1,
+                    meta.length);
+
+
+            def = describeType(TestClass4);
+            Assert.assertEquals("Unexpected package name",def.packageName,"flexUnitTests.reflection.support");
+            Assert.assertEquals("Unexpected type name",def.name,"TestClass4");
+
+            variables = def.variables;
+            Assert.assertEquals("unexpected variables length",2,variables.length);
+
+
+            methods = def.methods;
+            Assert.assertEquals("unexpected methods length",4,methods.length);
+
+            accessors = def.accessors;
+            Assert.assertEquals("unexpected accessors length",6,accessors.length);
+
+            constructor = def.constructorMethod;
+            Assert.assertEquals("unexpected constructor declaredBy",
+                    "flexUnitTests.reflection.support.TestClass4",
+                    constructor.declaredBy.qualifiedName);
+
+            Assert.assertEquals("unexpected constructor params",
+                    0,
+                    constructor.parameters.length);
+
+
+
+        }
+
+
+
+
+        [TestVariance(variance="JS",description="Variance in test due to current inability for js target to reflect into non-FlexJS base classes or typedefs")]
+		[Test]
+        public function testDescribeTypeClass():void
+        {
+            var def:TypeDefinition = describeType(TestClass1);
+            var expected:*;
+            Assert.assertEquals("Unexpected package name","flexUnitTests.reflection.support",def.packageName);
+            Assert.assertEquals("Unexpected type name",def.name,"TestClass1");
+
+            var variables:Array = def.variables;
+            Assert.assertEquals("unexpected instance variables length",3,variables.length);
+
+            //there is a difference based on the EventDispatcher inheritance chain differences between js and swf:
+            expected = isJS ? 4 : 7;
+            var methods:Array = def.methods;
+            Assert.assertEquals("unexpected instance methods length",expected,methods.length);
+
+            var accessors:Array = def.accessors;
+            Assert.assertEquals("unexpected instance accessors length",4,accessors.length);
+
+            var staticVariables:Array =def.staticVariables;
+            Assert.assertEquals("unexpected static variables length",2,staticVariables.length);
+
+            var staticMethods:Array = def.staticMethods;
+            Assert.assertEquals("unexpected static methods length",1,staticMethods.length);
+            //there is a difference based on the native inheritance of readonly 'prototype' not collected from 'Class' (or Object for js):
+            expected = isJS ? 3 : 4;
+            var staticAccessors:Array = def.staticAccessors;
+            Assert.assertEquals("unexpected static accessors length",expected,staticAccessors.length);
+
+			
+        }
+
+        [TestVariance(variance="JS",description="Variance in test due to current inability for js target to reflect into non-FlexJS base classes or typedefs")]
+        [Test]
+        public function testDescribeTypeInstance():void
+        {
+            var def:TypeDefinition = describeType(new TestClass1());
+            var expected:*;
+            Assert.assertEquals("Unexpected package name","flexUnitTests.reflection.support",def.packageName);
+            Assert.assertEquals("Unexpected type name",def.name,"TestClass1");
+
+            var variables:Array = def.variables;
+            Assert.assertEquals("unexpected instance variables length",3,variables.length);
+
+            //there is a difference based on the EventDispatcher inheritance chain differences between js and swf:
+            expected = isJS ? 4 : 7;
+            var methods:Array = def.methods;
+            Assert.assertEquals("unexpected instance methods length",expected,methods.length);
+
+            var accessors:Array = def.accessors;
+            Assert.assertEquals("unexpected instance accessors length",4,accessors.length);
+
+            var staticVariables:Array =def.staticVariables;
+            Assert.assertEquals("unexpected static variables length",2,staticVariables.length);
+
+            var staticMethods:Array = def.staticMethods;
+            Assert.assertEquals("unexpected static methods length",1,staticMethods.length);
+            //there is a difference based on the native inheritance of readonly 'prototype' not collected from 'Class' (or Object for js):
+            expected = isJS ? 3 : 4;
+            var staticAccessors:Array = def.staticAccessors;
+            Assert.assertEquals("unexpected static accessors length",expected,staticAccessors.length);
+
+
+        }
+
+        [TestVariance(variance="JS",description="Variance in baseClasses due to current inability for js target to reflect into non-FlexJS base classes or typedefs")]
+        [Test]
+        public function testBaseClasses():void{
+            var def:TypeDefinition = describeType(TestClass1);
+
+            var baseClasses:Array = def.baseClasses;
+            var expected:uint = isJS ? 1 : 3;
+            Assert.assertEquals("unexpected baseclasses length",expected,baseClasses.length);
+        }
+
+
+        [Test]
+        public function testMemberAccess():void{
+            //all of these should succeed without error
+            var inst:TestClass2 = new TestClass2("");
+            var def:TypeDefinition = describeType(inst);
+
+            /** instance variables **/
+
+            var variables:Array = def.variables;
+            var variable:VariableDefinition = variables[0];
+            Assert.assertEquals("unexpected variable name","testVar",variable.name);
+            var meta:MetaDataDefinition = variable.retrieveMetaDataByName("TestMeta")[0];
+            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
+
+            var metaArg:MetaDataArgDefinition = meta.getArgsByKey("foo")[0];
+            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
+            Assert.assertEquals("unexpected meta arg value","instanceVariable",metaArg.value);
+
+            Assert.assertEquals("unexpected reflection initial variable value","testVar_val",inst[variable.name]);
+
+            var accessors:Array = def.accessors;
+            var testReadOnly:AccessorDefinition = retrieveItemWithName(accessors,"testReadOnly") as AccessorDefinition;
+            meta = testReadOnly.retrieveMetaDataByName("TestMeta")[0];
+            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
+
+            metaArg = meta.getArgsByKey("foo")[0];
+            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
+            Assert.assertEquals("unexpected meta arg value","instanceAccessor",metaArg.value);
+
+            /** instance accessors **/
+            var testWriteOnly:AccessorDefinition = retrieveItemWithName(accessors,"testWriteOnly") as AccessorDefinition;
+            var testReadWrite:AccessorDefinition = retrieveItemWithName(accessors,"testReadWrite") as AccessorDefinition;
+            Assert.assertNotNull(testReadOnly);
+            Assert.assertNotNull(testWriteOnly);
+            Assert.assertNotNull(testReadWrite);
+
+            Assert.assertEquals("unexpected accessor initial value","instanceAccessor_initial_value",inst[testReadOnly.name]);
+            Assert.assertEquals("unexpected accessor initial value","instanceAccessor_initial_value",inst[testReadWrite.name]);
+
+            inst[testWriteOnly.name] = "test";
+            Assert.assertEquals("unexpected accessor initial value","test",inst[testReadOnly.name]);
+            Assert.assertEquals("unexpected accessor initial value","test",inst[testReadWrite.name]);
+
+            inst[testReadWrite.name] = "test2";
+            Assert.assertEquals("unexpected accessor initial value","test2",inst[testReadOnly.name]);
+            Assert.assertEquals("unexpected accessor initial value","test2",inst[testReadWrite.name]);
+
+            /** instance methods **/
+            var methods:Array = def.methods;
+            var testMethod:MethodDefinition = retrieveItemWithName(methods,"testMethod") as MethodDefinition;
+            meta = testMethod.retrieveMetaDataByName("TestMeta")[0];
+            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
+
+            metaArg = meta.getArgsByKey("foo")[0];
+            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
+            Assert.assertEquals("unexpected meta arg value","instanceMethod",metaArg.value);
+            Assert.assertEquals("unexpected parameter count",0,testMethod.parameters.length);
+            inst[testMethod.name]();
+            Assert.assertEquals("unexpected method invocation result","testMethod was called",inst[testReadWrite.name]);
+
+            var testMethodWithArgs:MethodDefinition = retrieveItemWithName(methods,"testMethodWithArgs") as MethodDefinition;
+            Assert.assertEquals("unexpected parameter count",2,testMethodWithArgs.parameters.length);
+            Assert.assertTrue("unexpected method invocation result",inst[testMethodWithArgs.name]("test"));
+            Assert.assertFalse("unexpected method invocation result",inst[testMethodWithArgs.name]("test", false));
+            Assert.assertEquals("unexpected method invocation result","testMethodWithArgs was called",inst[testReadWrite.name]);
+
+
+
+            /** static vars **/
+            variables = def.staticVariables;
+
+            
+            variable = variables[0];
+            Assert.assertEquals("unexpected variable name","testStaticVar",variable.name);
+            meta = variable.retrieveMetaDataByName("TestMeta")[0];
+            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
+
+            metaArg = meta.getArgsByKey("foo")[0];
+            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
+            Assert.assertEquals("unexpected meta arg value","staticVariable",metaArg.value);
+
+            Assert.assertEquals("unexpected reflection initial variable value","testStaticVar_val",TestClass2[variable.name]);
+
+            /** static accessors **/
+
+            accessors = def.staticAccessors;
+
+            
+            testReadOnly = retrieveItemWithName(accessors,"testStaticReadOnly") as AccessorDefinition;
+            meta = testReadOnly.retrieveMetaDataByName("TestMeta")[0];
+            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
+
+            metaArg = meta.getArgsByKey("foo")[0];
+            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
+            Assert.assertEquals("unexpected meta arg value","staticAccessor",metaArg.value);
+
+
+            testWriteOnly = retrieveItemWithName(accessors,"testStaticWriteOnly") as AccessorDefinition;
+            testReadWrite = retrieveItemWithName(accessors,"testStaticReadWrite") as AccessorDefinition;
+            Assert.assertNotNull(testReadOnly);
+            Assert.assertNotNull(testWriteOnly);
+            Assert.assertNotNull(testReadWrite);
+
+            Assert.assertEquals("unexpected accessor initial value","staticAccessor_initial_value",TestClass2[testReadOnly.name]);
+            Assert.assertEquals("unexpected accessor initial value","staticAccessor_initial_value",TestClass2[testReadWrite.name]);
+
+            TestClass2[testWriteOnly.name] = "test";
+            Assert.assertEquals("unexpected accessor initial value","test",TestClass2[testReadOnly.name]);
+            Assert.assertEquals("unexpected accessor initial value","test",TestClass2[testReadWrite.name]);
+
+            TestClass2[testReadWrite.name] = "test2";
+            Assert.assertEquals("unexpected accessor initial value","test2",TestClass2[testReadOnly.name]);
+            Assert.assertEquals("unexpected accessor initial value","test2",TestClass2[testReadWrite.name]);
+
+
+            /** static methods **/
+            methods = def.staticMethods;
+            testMethod = retrieveItemWithName(methods,"testStaticMethod") as MethodDefinition;
+            meta = testMethod.retrieveMetaDataByName("TestMeta")[0];
+            Assert.assertEquals("unexpected meta name","TestMeta",meta.name);
+
+            metaArg = meta.getArgsByKey("foo")[0];
+            Assert.assertEquals("unexpected meta arg name","foo",metaArg.name);
+            Assert.assertEquals("unexpected meta arg value","staticMethod",metaArg.value);
+            Assert.assertEquals("unexpected parameter count",0,testMethod.parameters.length);
+            TestClass2[testMethod.name]();
+            Assert.assertEquals("unexpected method invocation result","testStaticMethod was called",TestClass2[testReadWrite.name]);
+
+            testMethodWithArgs = retrieveItemWithName(methods,"testStaticMethodWithArgs") as MethodDefinition;
+            Assert.assertEquals("unexpected parameter count",2,testMethodWithArgs.parameters.length);
+            Assert.assertTrue("unexpected method invocation result",TestClass2[testMethodWithArgs.name]("test"));
+            Assert.assertFalse("unexpected method invocation result",TestClass2[testMethodWithArgs.name]("test", false));
+            Assert.assertEquals("unexpected method invocation result","testStaticMethodWithArgs was called",TestClass2[testReadWrite.name]);
+
+        }
+
+
+		[Test]
+        public function testInterfaceReflection():void{
+            var def:TypeDefinition = describeType(ITestInterface4);
+            Assert.assertEquals("unexpected kind value","interface",def.kind);
+            Assert.assertEquals("unexpected interfaces length",3,def.interfaces.length);
+            Assert.assertEquals("unexpected accessors length",1,def.accessors.length);
+            Assert.assertEquals("unexpected methods length",1,def.methods.length);
+
+            Assert.assertEquals("unexpected variables length",0,def.variables.length);
+            Assert.assertEquals("unexpected staticVariables length",0,def.staticVariables.length);
+            Assert.assertEquals("unexpected variables length",0,def.staticMethods.length);
+            Assert.assertEquals("unexpected staticVariables length",0,def.staticAccessors.length);
+            Assert.assertNull("unexpected constructor Method definition",def.constructorMethod);
+        }
+
+
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestAlias.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestAlias.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestAlias.as
new file mode 100644
index 0000000..7fd5984
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestAlias.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection
+{
+    import flexunit.framework.Assert;
+	import flexUnitTests.reflection.support.*;
+    import org.apache.flex.reflection.*;
+    
+    public class ReflectionTesterTestAlias
+    {		
+       
+        public static var isJS:Boolean;
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+            var js:Boolean = false;
+            try {
+                var check:* = getDefinitionByName("flash.system.Capabilities");
+            } catch (e:Error) {
+                js = true;
+            }
+            //if this next reference to 'check' is not included, then the above try/catch code
+            //appears to be optimized away in js-release mode
+            //a separate test has been created for this
+            if (check == null) {
+                js = true;
+            }
+            isJS = js;
+        }
+        
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+		
+		 [Before]
+        public function setUp():void
+        {
+
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+
+        }
+
+
+
+
+        [Test]
+        public function testBasicAlias():void {
+            //no initial alias
+            Assert.assertNull(getAliasByClass(TestClass2));
+            registerClassAlias("fjsTest", TestClass2);
+            //alias is registered
+            Assert.assertEquals("unexpected Alias value","fjsTest",getAliasByClass(TestClass2));
+            //register same alias for another class
+            registerClassAlias("fjsTest", TestClass3);
+            //original alias mapping is deregistered
+            Assert.assertNull(getAliasByClass(TestClass2));
+            //alias is registered for new class
+            Assert.assertEquals("unexpected Alias value","fjsTest",getAliasByClass(TestClass3));
+
+            //class is retrievable by alias
+            Assert.assertEquals("unexpected Class value",TestClass3,getClassByAlias("fjsTest"));
+
+
+        }
+
+
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestUseCache.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestUseCache.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestUseCache.as
new file mode 100644
index 0000000..9722647
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/ReflectionTesterTestUseCache.as
@@ -0,0 +1,93 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection
+{
+    import flexunit.framework.Assert;
+	import flexUnitTests.reflection.support.*;
+    import org.apache.flex.reflection.*;
+    
+    public class ReflectionTesterTestUseCache
+    {		
+       
+        public static var isJS:Boolean;
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+            var js:Boolean = false;
+            try {
+                var check:* = getDefinitionByName("flash.system.Capabilities");
+            } catch (e:Error) {
+                js = true;
+            }
+            //if this next reference to 'check' is not included, then the above try/catch code
+            //appears to be optimized away in js-release mode
+            //a separate test has been created for this
+            if (check == null) {
+                js = true;
+            }
+            isJS = js;
+        }
+        
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+		
+		 [Before]
+        public function setUp():void
+        {
+            TypeDefinition.useCache = true;
+            TestClass2.testStaticVar = "testStaticVar_val";
+            TestClass2.testStaticWriteOnly = "staticAccessor_initial_value";
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+            TypeDefinition.useCache = false;
+        }
+
+        private static function retrieveItemWithName(collection:Array, name:String):DefinitionBase {
+            var ret:DefinitionBase;
+            var i:uint=0,l:uint=collection.length;
+            for (;i<l;i++) {
+                if (collection[i].name==name) {
+                    ret = collection[i];
+                    break;
+                }
+            }
+
+            return ret;
+        }
+
+
+        [Test]
+        public function testBasicCache():void {
+            var def:TypeDefinition = describeType(TestClass2);
+
+            var def2:TypeDefinition = describeType(TestClass2);
+
+            Assert.assertEquals("cache not working",def,def2);
+
+        }
+
+
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface.as
new file mode 100644
index 0000000..b5a2249
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+	public interface ITestInterface
+	{
+		function someMethod(compulsoryArg:int, optArg:String=null):TestClass1;
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface2.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface2.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface2.as
new file mode 100644
index 0000000..f69f9b7
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface2.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+	public interface ITestInterface2 extends ITestInterface
+	{
+		function someMethod2(compulsoryArg:int, optArg:String=null):TestClass1;
+		
+		function get someValue2():Boolean;
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface3.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface3.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface3.as
new file mode 100644
index 0000000..83d05ee
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface3.as
@@ -0,0 +1,27 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+	public interface ITestInterface3
+	{
+			//empty
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface4.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface4.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface4.as
new file mode 100644
index 0000000..7a032f5
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/ITestInterface4.as
@@ -0,0 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+	public interface ITestInterface4 extends ITestInterface2, ITestInterface3
+	{
+		function someMethod3(compulsoryArg:int, optArg:String=null):TestClass1;
+		
+		function get someValue3():Boolean;
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass1.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass1.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass1.as
new file mode 100644
index 0000000..76ac834
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass1.as
@@ -0,0 +1,91 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+	import org.apache.flex.reflection.TypeDefinition;
+
+	[RemoteClass(alias="TestClass1_alias")]
+	public class TestClass1 implements ITestInterface
+	{
+		public function TestClass1()
+		{
+			var something:ITestInterface2;
+		}
+		
+		[Bindable]
+		[Event(name="foo", type="org.apache.flex.events.Event")]
+		public var bindableVar:String;
+		[Event(name="foo", type="org.apache.flex.events.Event")]
+		public var temp:Boolean;
+		
+		public static var tempStatic:Boolean;
+		
+		public var typeDef:TypeDefinition;
+		
+		public var testVar:String="testVar_val";
+		
+		public static var staticTestVar:String="statictestVar_val";
+		
+		private var _atestval:String="accessorTest_val";
+		public function get accessorTest():String{
+			return _atestval;
+		}
+		
+		public function set accessorTest(val:String):void{
+			_atestval = val;
+		}
+		
+		private static var _staticAtestval:String="staticAccessorTest_val";
+		public static function get staticAccessorTest():String{
+			return _staticAtestval;
+		}
+		
+		public static function set staticAccessorTest(val:String):void{
+			_staticAtestval = val;
+		}
+		
+		[Bindable]
+		public static var bindableStaticVar:String;
+		
+		[Bindable]
+		public var bindableInstanceVar:String;
+		
+		
+		public function someMethod(compulsoryArg:int, optArg:String=null):TestClass1{
+			return null;
+		}
+		
+		public static function someStaticMethod(compulsoryArg:int, optArg:String=null):TestClass1{
+			return null;
+		}
+		
+		public function get testAccessorType():TypeDefinition {
+			return null;
+		}
+		
+		public const instanceConstant:String="instanceConstant_val";
+		
+		
+		public static const staticConstant:String="staticConstant_val";
+		
+
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass2.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass2.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass2.as
new file mode 100644
index 0000000..bcc7988
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass2.as
@@ -0,0 +1,103 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+
+	[TestMeta(foo="class")]
+	public class TestClass2 
+	{
+		//Note: do not change this test class unless you change the related tests to 
+		//support any changes that might appear when testing reflection into it
+		
+		public function TestClass2(blah:String){
+
+		}
+		
+		
+		[TestMeta(foo="instanceMethod")]
+		public function testMethod():void{
+			_testReadWrite = "testMethod was called";
+		}
+		
+		[TestMeta(foo="instanceMethod")]
+		public function testMethodWithArgs(mandatory:String,optional:Boolean=true):Boolean{
+			_testReadWrite = "testMethodWithArgs was called";
+			return optional;
+		}
+		
+		[TestMeta(foo="instanceVariable")]
+		public var testVar:String = "testVar_val";
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function get testReadOnly():String{
+			return _testReadWrite
+		}
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function set testWriteOnly(value:String):void{
+			_testReadWrite=value;
+		}
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function get testReadWrite():String{
+			return _testReadWrite
+		}
+		public function set testReadWrite(value:String):void{
+			_testReadWrite=value;
+		}
+		
+		[TestMeta(foo="staticMethod")]
+		public static function testStaticMethod():void{
+			_testStaticReadWrite = "testStaticMethod was called";
+		}
+		
+		[TestMeta(foo="staticMethod")]
+		public static function testStaticMethodWithArgs(mandatory:String,optional:Boolean=true):Boolean{
+			_testStaticReadWrite = "testStaticMethodWithArgs was called";
+			return optional;
+		}
+		
+		[TestMeta(foo="staticVariable")]
+		public static var testStaticVar:String = "testStaticVar_val";
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function get testStaticReadOnly():String{
+			return _testStaticReadWrite
+		}
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function set testStaticWriteOnly(value:String):void{
+			_testStaticReadWrite = value;
+		}
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function get testStaticReadWrite():String{
+			return _testStaticReadWrite;
+		}
+		public static function set testStaticReadWrite(value:String):void{
+			_testStaticReadWrite = value;
+		}
+		
+		
+		
+		private static var _testStaticReadWrite:String = "staticAccessor_initial_value";
+		private var _testReadWrite:String = "instanceAccessor_initial_value";
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass3.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass3.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass3.as
new file mode 100644
index 0000000..0b4c59b
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass3.as
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+
+
+	public class TestClass3 extends TestClass1 implements ITestInterface2, ITestInterface3
+	{
+		
+		public var something:String;
+		
+		
+		public function someMethod2(compulsoryArg:int, optArg:String=null):TestClass1
+		{
+			return null;
+		}
+		
+		public function get someValue2():Boolean {
+			return false;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass4.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass4.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass4.as
new file mode 100644
index 0000000..5d0a28f
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass4.as
@@ -0,0 +1,95 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+
+
+	public class TestClass4 extends TestClass2
+	{
+		//Note: do not change this test class unless you change the related tests to 
+		//support any changes that might appear when testing reflection into it
+		
+		public function TestClass4(){
+			super("");
+		}
+		
+		
+		[TestMeta(foo="instanceMethod")]
+		public function testMethod2():void{
+		
+		}
+		
+		[TestMeta(foo="instanceMethod")]
+		public function testMethodWithArgs2(mandatory:String,optional:Boolean=true):void{
+		
+		}
+		
+		[TestMeta(foo="instanceVariable")]
+		public var testVar2:String;
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function get testReadonly2():String{
+			return null
+		}
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function set testWriteonly2(value:String):void{
+			
+		}
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function get testReadeWrite2():String{
+			return null
+		}
+		public function set testReadeWrite2(value:String):void{
+			
+		}
+		
+		[TestMeta(foo="staticMethod")]
+		public static function testStaticMethod():void{
+		}
+		
+		[TestMeta(foo="staticMethod")]
+		public static function testStaticMethodWithArgs(mandatory:String,optional:Boolean=true):void{
+		}
+		
+		[TestMeta(foo="staticVariable")]
+		public static var testStaticVar:String;
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function get testStaticReadonly():String{
+			return null
+		}
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function set testStaticWriteonly(value:String):void{
+			
+		}
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function get testStaticReadeWrite():String{
+			return null
+		}
+		public static function set testStaticReadeWrite(value:String):void{
+			
+		}
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass5.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass5.as b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass5.as
new file mode 100644
index 0000000..cc546c7
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexUnitTests/reflection/support/TestClass5.as
@@ -0,0 +1,82 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flexUnitTests.reflection.support
+{
+
+
+
+	public class TestClass5 
+	{
+		//Note: do not change this test class unless you change the related tests to 
+		//support any changes that might appear when testing reflection into it
+		
+		public function TestClass5(){
+			
+		}
+		
+		
+		[TestMeta(foo="instanceMethod")]
+		public function method():void{
+		
+		}
+		
+		[TestMeta(foo="instanceMethod")]
+		public function methodWithArgs(mandatory:String,optional:Boolean=true):void{
+		
+		}
+		
+		[TestMeta(foo="instanceVariable")]
+		public var testVar:String;
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function get testGetter():String{
+			return null
+		}
+		
+		[TestMeta(foo="instanceAccessor")]
+		public function set testSetter(value:String):void{
+			
+		}
+		
+		
+		[TestMeta(foo="staticMethod")]
+		public static function method():void{
+		}
+		
+		[TestMeta(foo="staticMethod")]
+		public static function methodWithArgs(mandatory:String,optional:Boolean=true):void{
+		}
+		
+		[TestMeta(foo="staticVariable")]
+		public static var testVar:String;
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function get testGetter():String{
+			return null
+		}
+		
+		[TestMeta(foo="staticAccessor")]
+		public static function set testSetter(value:String):void{
+			
+		}
+		
+
+
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexunit/framework/Assert.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexunit/framework/Assert.as b/manualtests/UnitTests/src/main/flex/flexunit/framework/Assert.as
new file mode 100644
index 0000000..171f695
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexunit/framework/Assert.as
@@ -0,0 +1,305 @@
+/*
+ * 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 flexunit.framework
+{
+	//import flexunit.framework.AssertionFailedError;
+ 	
+	/**
+	 * A set of assert methods.  Messages are only displayed when an assert fails.
+	 */
+	public class Assert
+	{
+		/**
+		 * @private
+		 */
+		public static var _assertCount:uint = 0;
+		
+		/**
+		 * Returns the number of assertions that have been made
+		 */
+		public static function get assertionsMade() : uint {
+			return _assertCount;
+		}
+		
+		
+		/**
+		 * Resets the count for the number of assertions that have been made back to zero
+		 */
+		public static function resetAssertionsFields() : void {
+			_assertCount = 0;
+		}
+		
+		/**
+		 * @private
+		 */
+		public static function assertWithApply( asserter:Function, args:Array ):void {
+			_assertCount++;
+			asserter.apply( null, args );
+		}
+
+		/**
+		 * @private
+		 */
+		public static function assertWith( asserter:Function, ...rest ):void {
+			_assertCount++;
+			asserter.apply( null, rest );
+		}
+
+		/**
+		 * Asserts that two provided values are equal.
+		 * 
+		 * @param asserter The function to use for assertion. 
+		 * @param rest
+		 * 			Must be passed at least 2 arguments of type Object to compare for equality.
+		 * 			If three arguments are passed, the first argument must be a String
+		 * 			and will be used as the error message.
+		 *          The first of the comparison arguments represents the expected result
+		 *          The second is the actual result to compare with the expected result.
+		 * 
+		 * 			<code>assertEquals( String, Object, Object );</code>
+		 * 			<code>assertEquals( Object, Object );</code>
+		 */
+		public static function assertEquals(... rest):void
+		{
+			_assertCount++;
+			if ( rest.length == 3 )
+				failNotEquals( rest[0], rest[1], rest[2] );
+			else
+				failNotEquals( "", rest[0], rest[1] );
+		}
+	
+        /**
+         * @private
+         */
+		public static function failNotEquals( message:String, expected:Object, actual:Object ):void
+		{
+			if ( expected != actual )
+			   failWithUserMessage( message, "expected:<" + expected + "> but was:<" + actual + ">" );
+		}
+	
+		/**
+		 * /**
+		 * Asserts that the provided values are strictly equal.
+		 * 
+		 * @param rest
+		 * 			Must be passed at least 2 arguments of type Object to compare for strict equality.
+		 * 			If three arguments are passed, the first argument must be a String
+		 * 			and will be used as the error message.
+		 *          The first of the comparison arguments represents the expected result
+		 *          The second is the actual result to compare with the expected result.
+		 * 
+		 * 			<code>assertStrictlyEquals( String, Object, Object );</code>
+		 * 			<code>assertStrictlyEquals( Object, Object );</code>
+		 */
+		public static function assertStrictlyEquals(... rest):void
+		{
+			_assertCount++;
+			if ( rest.length == 3 )
+				failNotStrictlyEquals( rest[0], rest[1], rest[2] );
+			else
+				failNotStrictlyEquals( "", rest[0], rest[1] );
+		}
+	
+        /**
+         * @private
+         */
+		public static function failNotStrictlyEquals( message:String, expected:Object, actual:Object ):void
+		{
+			if ( expected !== actual )
+			   failWithUserMessage( message, "expected:<" + expected + "> but was:<" + actual + ">" );
+		}
+	
+		/**
+		 * Asserts that a condition is true.
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Boolean.
+		 * 			If two arguments are passed the first argument must be a String 
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertTrue( String, Boolean );</code>
+		 * 			<code>assertTrue( Boolean );</code>
+		 */
+		public static function assertTrue(... rest):void
+		{
+			_assertCount++;
+			if ( rest.length == 2 )
+				failNotTrue( rest[0], rest[1] );
+			else
+				failNotTrue( "", rest[0] );
+		}
+	
+        /**
+         * Asserts that a condition is not true.
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Boolean.
+		 * 			If two arguments are passed the first argument must be a String 
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertTrue( String, Boolean );</code>
+		 * 			<code>assertTrue( Boolean );</code>
+         */
+		public static function failNotTrue( message:String, condition:Boolean ):void
+		{
+			if ( !condition )
+			   failWithUserMessage( message, "expected true but was false" );
+		}
+	
+		/**
+         * Asserts that a condition is false.
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Boolean.
+		 * 			If two arguments are passed the first argument must be a String
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertFalse( String, Boolean );</code>
+		 * 			<code>assertFalse( Boolean );</code>
+		 */
+		public static function assertFalse(... rest):void
+		{
+			_assertCount++;
+			if ( rest.length == 2 )
+				failTrue( rest[0], rest[1] );
+			else
+				failTrue( "", rest[0] );
+		}
+	
+        /**
+         * Asserts that a condition is false. 
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Boolean.
+		 * 			If two arguments are passed the first argument must be a String 
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertTrue( String, Boolean );</code>
+		 * 			<code>assertTrue( Boolean );</code>
+         */
+		public static function failTrue( message:String, condition:Boolean ):void
+		{
+			if ( condition )
+			   failWithUserMessage( message, "expected false but was true" );
+		}
+	
+		//TODO:  (<code>null</code> okay) needs removal?
+		/**
+		 * Asserts that an object is null.
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Object.
+		 * 			If two arguments are passed the first argument must be a String
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertNull( String, Object );</code>
+		 * 			<code>assertNull( Object );</code>
+		 * 
+		 */
+		public static function assertNull(... rest):void
+		{
+			_assertCount++;
+			if ( rest.length == 2 )
+				failNotNull( rest[0], rest[1] );
+			else
+				failNotNull( "", rest[0] );
+		}
+	
+        /**
+         * Asserts that an object is not null. 
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Boolean.
+		 * 			If two arguments are passed the first argument must be a String 
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertTrue( String, Boolean );</code>
+		 * 			<code>assertTrue( Boolean );</code>
+         */
+		public static function failNull( message:String, object:Object ):void
+		{
+			if ( object == null )
+			   failWithUserMessage( message, "object was null: " + object );
+		}
+	
+		//TODO:  (<code>null</code> okay) needs removal?
+		/**
+		 * Asserts that an object is not null.
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Object.
+		 * 			If two arguments are passed the first argument must be a String
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertNotNull( String, Object );</code>
+		 * 			<code>assertNotNull( Object );</code>
+		 */
+		public static function assertNotNull(... rest):void
+		{
+			_assertCount++;
+			if ( rest.length == 2 )
+				failNull( rest[0], rest[1] );
+			else
+				failNull( "", rest[0] );
+		}
+	
+        /**
+         * Asserts that an object is not null.
+		 * 
+		 * @param rest
+		 * 			Accepts an argument of type Boolean.
+		 * 			If two arguments are passed the first argument must be a String 
+		 * 			and will be used as the error message.
+		 * 			
+		 * 			<code>assertTrue( String, Boolean );</code>
+		 * 			<code>assertTrue( Boolean );</code>
+         */
+		public static function failNotNull( message:String, object:Object ):void
+		{
+			if ( object != null )
+			   failWithUserMessage( message, "object was not null: " + object );
+		}
+		//TODO:  (<code>null</code> okay) needs removal?
+		/**
+		 * Fails a test with the argument message.
+		 * 
+		 * @param failMessage
+		 *            the identifying message for the <code> AssertionFailedError</code> (<code>null</code>
+		 *            okay)
+		 * @see AssertionFailedError
+		 */
+		public static function fail( failMessage:String = ""):void
+		{
+			var error:AssertionFailedError = new AssertionFailedError(failMessage);
+			//this seems necessary for js:
+			if (error.message!=failMessage) error.message = failMessage;
+			throw error;
+		}
+	
+
+        /**
+         * @private
+         */
+		private static function failWithUserMessage( userMessage:String, failMessage:String ):void
+		{
+			if ( userMessage.length > 0 )
+				userMessage = userMessage + " - ";
+			failMessage = userMessage + failMessage;
+			fail(failMessage);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/flexunit/framework/AssertionFailedError.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/flexunit/framework/AssertionFailedError.as b/manualtests/UnitTests/src/main/flex/flexunit/framework/AssertionFailedError.as
new file mode 100644
index 0000000..359361f
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/flexunit/framework/AssertionFailedError.as
@@ -0,0 +1,39 @@
+/*
+ * 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 flexunit.framework
+{
+	/**
+	 * <code>Error</code> class used for failures in assertions
+	 * 
+	 * @see Assert
+	 */
+	public class AssertionFailedError extends Error
+	{
+		/**
+		 * Throws a new <code>Error</code> of type <code>AssertionError</code>
+		 * with the passed in message
+		 * 
+		 * @param message The message associated with the error (<code>null</code> okay)
+		 * @param id The id of the error if desired (<code>null</code> okay)
+		 */
+		public function AssertionFailedError(message:String="", id:int=0)
+		{
+			super(message, id);
+		}
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/testshim/FlexJSUnitTestRunner.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/testshim/FlexJSUnitTestRunner.as b/manualtests/UnitTests/src/main/flex/testshim/FlexJSUnitTestRunner.as
new file mode 100644
index 0000000..7494963
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/testshim/FlexJSUnitTestRunner.as
@@ -0,0 +1,186 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 testshim {
+
+import org.apache.flex.reflection.MetaDataArgDefinition;
+import org.apache.flex.reflection.MetaDataDefinition;
+import org.apache.flex.reflection.MethodDefinition;
+import org.apache.flex.reflection.TypeDefinition;
+import org.apache.flex.reflection.describeType;
+
+import flexunit.framework.Assert;
+public class FlexJSUnitTestRunner {
+
+
+    public function FlexJSUnitTestRunner(testerClass:Class, notificationReceiver:Function) {
+        this.testerClass = testerClass;
+        this.callback = notificationReceiver;
+        prepare();
+    }
+
+    private var testerClass:Class;
+    private var callback:Function;
+
+    private var _testingName:String;
+    public function get testingName():String{
+        return _testingName;
+    }
+    private var _successCount:uint=0;
+    public function get successCount():uint {
+        return _successCount;
+    }
+
+    private var _failCount:uint=0;
+    public function get failCount():uint {
+        return _failCount;
+    }
+
+    private var _successfulAssertions:uint=0;
+    public function get successfulAssertions():uint {
+        return _successfulAssertions;
+    }
+
+    private var beforeClassFunc:Function;
+    private var afterClassFunc:Function;
+    private var setupFunc:MethodDefinition;
+    private var tearDownFunc:MethodDefinition;
+
+    private var testMethods:Array=[];
+
+    private function prepare():void{
+        var typeDef:TypeDefinition = describeType(testerClass);
+        _testingName = typeDef.name;
+        var staticMethods:Array = typeDef.staticMethods;
+        for each (var methodDef:MethodDefinition in staticMethods) {
+            var beforeClass:Array = methodDef.retrieveMetaDataByName("BeforeClass");
+            var afterClass:Array = methodDef.retrieveMetaDataByName("AfterClass");
+            if ( beforeClass.length ) {
+                if (beforeClassFunc!=null) throw new Error("BeforeClass used more than once in "+typeDef.qualifiedName);
+                beforeClassFunc = testerClass[methodDef.name];
+            }
+            if ( afterClass.length ) {
+                if (afterClassFunc!=null) throw new Error("AfterClass used more than once in "+typeDef.qualifiedName);
+                afterClassFunc = testerClass[methodDef.name];
+            }
+        }
+        var methods:Array = typeDef.methods;
+        for each (methodDef in methods) {
+            var beforeTests:Array = methodDef.retrieveMetaDataByName("Before");
+            var afterTests:Array = methodDef.retrieveMetaDataByName("After");
+            if ( beforeTests.length ) {
+                if (setupFunc!=null) throw new Error("Before used more than once in "+typeDef.qualifiedName);
+                setupFunc = methodDef;
+            }
+            if ( afterTests.length ) {
+                if (tearDownFunc!=null) throw new Error("After used more than once in "+typeDef.qualifiedName);
+                tearDownFunc = methodDef;
+            }
+            var test:Array = methodDef.retrieveMetaDataByName("Test");
+            if (test.length) {
+                testMethods.push(methodDef);
+            }
+            testMethods.sortOn("name");
+        }
+
+        if (testMethods.length == 0) {
+            throw new Error("Zero test methods detected in "+typeDef.qualifiedName+", check to make sure -keep-as3-metadata is configured");
+        }
+    }
+
+    private function begin():void {
+        if (beforeClassFunc!=null) beforeClassFunc();
+    }
+
+    public function runTests():void{
+        begin();
+        var testInstance:Object = new testerClass();
+        if (setupFunc!=null) {
+            testInstance[setupFunc.name]();
+        }
+        var i:uint=0, l:uint=testMethods.length;
+
+        for(;i<l;i++) {
+            runFlexJSTest(_testingName,testInstance,testMethods[i],callback);
+        }
+
+        if (tearDownFunc!=null) {
+            testInstance[tearDownFunc.name]();
+        }
+        end();
+    }
+
+    private function end():void{
+        if (afterClassFunc!=null) afterClassFunc();
+    }
+
+
+    private function runFlexJSTest(testClass:String,instance:Object,methodDef:MethodDefinition,callback:Function=null):void{
+        var methodName:String = methodDef.name;
+        trace('running test in '+testClass+":"+methodName);
+        var varianceMetas:Array = methodDef.retrieveMetaDataByName("TestVariance");
+        
+        var method:Function = instance[methodName];
+        var preAssertCount:uint = Assert.assertionsMade;
+        var result:TestResult = new TestResult();
+        result.assertions = 0;
+        result.pass = true;
+        result.error = null;
+        result.testClass = testClass;
+        result.testMethod = methodName;
+
+        while (varianceMetas.length) {
+            var varianceMeta:MetaDataDefinition = varianceMetas.shift();
+            var varianceArgs:Array = varianceMeta.getArgsByKey("variance");
+            var i:uint=0, l:uint= varianceArgs.length;
+            if (l) {
+                result.hasVariance=true;
+                for(;i<l;i++) varianceArgs[i] = varianceArgs[i].value;
+                result.varianceTarget = varianceArgs.join(",");
+            }
+            if (result.hasVariance) {
+                var descriptionArgs:Array= varianceMeta.getArgsByKey("description");
+                if (descriptionArgs.length) result.varianceDescription = "";
+                while(descriptionArgs.length) {
+                    var description:MetaDataArgDefinition = descriptionArgs.shift();
+                    result.varianceDescription +=description.value;
+                    if (descriptionArgs.length) result.varianceDescription += ", ";
+                }
+            }
+        }
+        //run the test method
+        try {
+            method();
+        } catch (e:Error) {
+            result.pass=false;
+            result.error = e.name+":" + e.message;
+        }
+        result.assertions = Assert.assertionsMade - preAssertCount;
+        if (preAssertCount == Assert.assertionsMade) {
+            result.warning = "WARNING: This test method appears to have zero Assertions";
+        }
+        if (result.pass) _successCount++;
+        else _failCount++;
+        _successfulAssertions += result.assertions;
+        if (callback!=null) {
+            callback(result);
+        }
+    }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/src/main/flex/testshim/TestResult.as
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/src/main/flex/testshim/TestResult.as b/manualtests/UnitTests/src/main/flex/testshim/TestResult.as
new file mode 100644
index 0000000..d9bc514
--- /dev/null
+++ b/manualtests/UnitTests/src/main/flex/testshim/TestResult.as
@@ -0,0 +1,56 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 testshim {
+public class TestResult {
+    public function TestResult() {
+    }
+
+    public var testClass:String;
+
+    public var testMethod:String;
+
+    public var pass:Boolean;
+
+    public var assertions:uint;
+
+    public var error:String;
+
+    public var hasVariance:Boolean;
+
+    public var varianceTarget:String;
+
+    public var varianceDescription:String;
+    
+    public var warning:String;
+
+    public function toString(newline:String=null):String {
+        if (newline==null) newline="\n";
+        var s:String="";
+        var postFix:String = testMethod+" in "+testClass;
+        if (pass) {
+           s += "PASSED ("+assertions+" assertions made) ["+postFix+"]";
+        } else {
+            s += "FAILED ( at assertion "+assertions+" in test method) ["+postFix+"]"+newline;
+            s += "["+error+"]";
+        }
+        return s;
+    }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/testsview/image/Flex.png
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/testsview/image/Flex.png b/manualtests/UnitTests/testsview/image/Flex.png
new file mode 100644
index 0000000..cb68fec
Binary files /dev/null and b/manualtests/UnitTests/testsview/image/Flex.png differ

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/UnitTests/testsview/index.html
----------------------------------------------------------------------
diff --git a/manualtests/UnitTests/testsview/index.html b/manualtests/UnitTests/testsview/index.html
new file mode 100644
index 0000000..3007ab8
--- /dev/null
+++ b/manualtests/UnitTests/testsview/index.html
@@ -0,0 +1,129 @@
+<!--
+  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.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<style>
+		.boxLeft { 
+			display:inline-block; 
+			width:50% ;
+			position:absolute; 
+			top:100px; 
+			bottom:15px; 
+			left:0px
+		}
+		.boxRight { 
+			display:inline-block; 
+			width:50% ;
+			position:absolute; 
+			top:100px; 
+			bottom:15px; 
+			right:0px
+		}
+		.pageStyles {
+			font-family: Arial,sans-serif;
+			color: #333;
+			background: #f5f5f5;
+			font-size: 14px;
+			line-height: 1.5;
+		}
+		h1 {
+			font-size: 28px;
+			line-height: 1.25;
+			font-weight: normal;
+		}
+		em {
+		  font-weight: bold;
+		}
+		.logo {
+			margin-right: 10px;
+			float: left;
+			width: 48px;
+			height: 48px;
+			border-radius: 50%;
+			border: 0;
+			margin: 0;
+			padding: 0;
+		}
+		.titleContent {
+			white-space:nowrap;
+		}
+	</style>
+	<script type="text/javascript">
+	
+	console.API;
+
+	if (typeof console._commandLineAPI !== 'undefined') {
+		console.API = console._commandLineAPI; //chrome
+	} else if (typeof console._inspectorCommandLineAPI !== 'undefined') {
+		console.API = console._inspectorCommandLineAPI; //Safari
+	} else if (typeof console.clear !== 'undefined') {
+		console.API = console;
+	}
+
+	function swapJSBuild() {
+		var button = document.getElementById("swapJsButton");
+		var JS_RELEASE = "JS-Release";
+		var JS_DEBUG = "JS-Debug";
+		var SWAP_TO_RELEASE = "Swap To "+JS_RELEASE;
+		var SWAP_TO_DEBUG = "Swap To "+JS_DEBUG;
+		var base = "../target/javascript/bin";
+		var debug = base + "/js-debug/index.html";
+		var release = base + "/js-release/index.html";
+		var jsIframe = document.getElementById("jsIframe");
+		var status = document.getElementById("jsStatus");
+		if (button && jsIframe) {
+			var current = button.innerHTML;
+			switch (current) {
+				case SWAP_TO_RELEASE:
+					console.API.clear();
+					button.innerHTML = SWAP_TO_DEBUG;
+					jsIframe.src = release;		
+					status.innerHTML = "Currently showing <em>"+JS_RELEASE+"</em>";;				
+				break;
+				case SWAP_TO_DEBUG:
+					console.API.clear();
+					button.innerHTML = SWAP_TO_RELEASE;
+					jsIframe.src = debug;	
+					status.innerHTML = "Currently showing <em>"+JS_DEBUG+"</em>";	
+				break;
+			}
+		}
+	}
+	</script>
+</head>
+<body class="pageStyles">
+	<div>
+		<div >
+			<img class="logo" src="image/Flex.png" alt="Apache Flex logo">
+			<div class="titleContent">
+				<h1>FlexJS Framework Development Unit Tests</h1>
+			</div>
+		<div id="jsStatus" style="position: relative; display: inline-block;">Currently showing <em>JS-Debug</em></div>
+			<button id="swapJsButton" onclick="swapJSBuild()" type="button" class="quoteButton TextButton" style="position: relative; display: inline-block;">Swap To JS-Release</button>
+		</div>
+		<div class="boxLeft">
+			<iframe id="jsIframe" src="../target/javascript/bin/js-debug/index.html" frameborder="1" scrolling="no" height="100%" width="100%" align="left" ></iframe>
+		</div>
+		<div class="boxRight">
+			<iframe id="swfIframe"  src="../target/bin-debug/UnitTests.html" frameborder="1" scrolling="no" height="100%" width="100%" align="left" ></iframe>
+		</div>
+	</div>
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/523eac21/manualtests/XMLTest/build.xml
----------------------------------------------------------------------
diff --git a/manualtests/XMLTest/build.xml b/manualtests/XMLTest/build.xml
index a3012b2..c811bba 100644
--- a/manualtests/XMLTest/build.xml
+++ b/manualtests/XMLTest/build.xml
@@ -22,52 +22,26 @@
 <project name="xmltest" default="main" basedir=".">
     <property name="FLEXJS_HOME" location="../.."/>
     <property name="example" value="XMLTest" />
+	<!-- use this to add keep metadata option -->
+	<property name="theme_arg" value="-keep-as3-metadata+=Event" />
     <property name="swf.version" value="11" />
     
+    <property file="${FLEXJS_HOME}/env.properties"/>
     <property environment="env"/>
-    <property file="${FLEXJS_HOME}/build.properties"/>
+	<property file="${FLEXJS_HOME}/build.properties"/>
     <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
-    <!-- use this to add keep metadata option -->
-    <property name="theme_arg" value="-keep-as3-metadata+=Event" />
-    <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${env.FALCON_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar"
-    type="file"
-    property="FALCON_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/>
-    
-    <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${env.FALCONJX_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
-    type="file"
-    property="FALCONJX_HOME"
-    value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
-    
-    <available file="${env.GOOG_HOME}/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${env.GOOG_HOME}"/>
-    
-    <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js"
-    type="file"
-    property="GOOG_HOME"
-    value="${FLEXJS_HOME}/js/lib/google/closure-library"/>
+	
     
     <include file="${basedir}/../build_example.xml" />
 
-    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of FlexJSUI.swc">
+    <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
     </target>
     
     <target name="clean">
         <delete dir="${basedir}/bin" failonerror="false" />
         <delete dir="${basedir}/bin-debug" failonerror="false" />
         <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
     </target>
 
 </project>