You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ha...@apache.org on 2016/05/05 08:55:32 UTC

git commit: [flex-asjs] [refs/heads/develop] - Fixed issues related to XML element ordering Fixed up formatting and variable declarations in XML test

Repository: flex-asjs
Updated Branches:
  refs/heads/develop 38d40b6bb -> 81820986f


Fixed issues related to XML element ordering
Fixed up formatting and variable declarations in XML 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/81820986
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/81820986
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/81820986

Branch: refs/heads/develop
Commit: 81820986f29118a6e21cda2f354106e36766f973
Parents: 38d40b6
Author: Harbs <ha...@in-tools.com>
Authored: Thu May 5 11:55:27 2016 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Thu May 5 11:55:27 2016 +0300

----------------------------------------------------------------------
 frameworks/projects/XML/src/main/flex/XML.as    |   7 +-
 .../projects/XML/src/main/flex/XMLList.as       |  19 +-
 manualtests/XMLTest/src/MyInitialView.mxml      | 323 ++++++++++---------
 3 files changed, 186 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/81820986/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 0c6d2d0..8f721f8 100644
--- a/frameworks/projects/XML/src/main/flex/XML.as
+++ b/frameworks/projects/XML/src/main/flex/XML.as
@@ -1871,7 +1871,7 @@ package
 				var chldrn:XMLList = this.child(elementName);
 				var childIdx:int = children().length() -1;
 				if(chldrn.length())
-					childIdx = chldrn[0].childIndex();
+					childIdx = chldrn[0].childIndex()-1;
 				
 				len = chldrn.length() -1;
 				for (i= len; i >= 0;  i--)
@@ -1889,7 +1889,10 @@ package
 					chld = elements[i];
 					if(!curChild)
 					{
-						curChild = appendChild(chld);
+						if(childIdx < 0)
+							curChild = prependChild(chld);
+						else
+							curChild = appendChild(chld);
 					}
 					else {
 						curChild = insertChildAfter(curChild, chld);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/81820986/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 7fa8002..f71ec67 100644
--- a/frameworks/projects/XML/src/main/flex/XMLList.as
+++ b/frameworks/projects/XML/src/main/flex/XMLList.as
@@ -132,10 +132,23 @@ package
 		{
 			_xmlArray[_xmlArray.length] = child;
 			addIndex(_xmlArray.length);
-			if(_targetObject)
+			do//while false
 			{
-				_targetObject.appendChild(child);
-			}
+				if(!_targetObject)
+					break;
+				if(!_targetProperty)
+				{
+					_targetObject.appendChild(child);
+					break;
+				}
+				var objToAppend:XMLList = _targetObject.child(_targetProperty);
+				if(!objToAppend.length())
+				{
+					_targetObject.appendChild(child);
+					break;
+				}
+				_targetObject.insertChildAfter(objToAppend[objToAppend.length()-1],child);
+			}while(false);
 		}
 		
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/81820986/manualtests/XMLTest/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/manualtests/XMLTest/src/MyInitialView.mxml b/manualtests/XMLTest/src/MyInitialView.mxml
index b732fa3..f06066d 100644
--- a/manualtests/XMLTest/src/MyInitialView.mxml
+++ b/manualtests/XMLTest/src/MyInitialView.mxml
@@ -32,10 +32,9 @@ limitations under the License.
 	</fx:Style>
 	
 	<fx:Script>
-		<![CDATA[			
+		<![CDATA[
 						
-            import XML;
-            import mx.collections.XMLListCollection;
+      import XML;
 
             private var xmlStr:String = '<?xml version="1.0" encoding="UTF-8" ?>'+
                 '<catalog xmlns:fx="http://ns.adobe.com/mxml/2009"'+
@@ -82,162 +81,170 @@ limitations under the License.
         '   </product>'+
 '</catalog>';
 
-            private var xml:XML = new XML(xmlStr);
-            private var text:String = "hi";
-            private var xml2:XML = new XML('<root xmlns:fz="http://ns.adobe.com/mxml/2009"><a><b/></a><a name="fred"/><a>hi<b>yeah!</b></a><a name="frank"/><c/></root>');
+      private var xml:XML = new XML(xmlStr);
+      private var text:String = "hi";
+      private var xml2:XML = new XML('<root xmlns:fz="http://ns.adobe.com/mxml/2009"><a><b/></a><a name="fred"/><a>hi<b>yeah!</b></a><a name="frank"/><c/></root>');
 
-            public function runTest():void
-            {
-                var args:Array;
-                var j:int;
-                var m:int;
-                var xml1:XML = <foo baz="true"/>;
-                trace(xml1.toXMLString());
-                trace(xml1.toXMLString() == '<foo baz="true"/>');
-                var baz:XMLList = xml1.@baz;
-                trace("baz: " + xml1.@baz.toString() + " //true");
-                var child:XML = <pop><child name="Sam"/></pop>;
-                xml1.appendChild(child);
-                child = <pop><child name="George"/></pop>;
-                xml1.appendChild(child);
-                trace(xml1.pop[0].toString());
-                trace(xml1.pop[1].toString());
-                var pop:XMLList = xml1.pop;
-                pop[pop.length()] = <pop><child name="Fred"/></pop>;
-                trace(pop.toString());
-                trace(xml1.toString());
-                pop[0] = <pop><child name="Fred"/></pop>;
-                trace(pop.toString());
-                trace(xml1.toString());
-
-
-var xmlString:String = xml.toXMLString();
-var script:XML = xml..script[0].children()[0];
-var kind = script.nodeKind();
-var comment = xml.children()[0];
-var comKind = comment.nodeKind();
-var instr = xml.processingInstructions()[0];
-var prod = xml.product[0];
-//JIRA https://issues.apache.org/jira/browse/FLEX-35069
-//var catalog_item = xml..('http://ns.adobe.com/mxml/2009')::catalog_item[0];
-var prod_desc_name = prod.@description.name();
-//xml2.appendChild(catalog_item);
-trace(prod.childIndex());
-                var list1:XMLList = xml2.a;
-                var aaa = list1[0];
-                var aab = list1[0][0][0];
-                var list2:XMLList = xml2.child("a");
-                var list3:XMLList = xml2.descendants();
-                list3  = list3.(attribute("name").length());
-                list2[list2.length()] = <c id="1"/>;
-                list2[0] = <bla/>;
-                var list4:XMLList = new XMLList();
-                list4[0] = <a id="1"/>;
-                list4[1] = <a id="2"/>;
-                list4[2] = <a id="3"/>;
-//JIRA https://issues.apache.org/jira/browse/FLEX-35072
-                list1 += list4
-//list1.concat(list4);
-                xml2.insertChildAfter(xml2.a,<a id="123"/>);
-                trace(xml2.toString());
-                xml2.a = list4;
-                xml2.a = <a id="123"/>;
-                xml2.a += <a id="456"/>;
-                //xml2.a -= <a id="456"/>;
-                var a = xml2.baz
-                trace(xml2.toString());
-                trace(xml2.toXMLString());
-                trace(list1[0].toString());
-                trace(list1[0].toXMLString());
-                trace(list1[1].toString());
-                trace(list1[1].toXMLString());
-                trace(list1[2].toString());
-                trace(list1[2].toXMLString());
-                trace(list1[3].toString());
-                trace(list1[3].toXMLString());
-                var aaa = list1[4];
-                trace(list1[4].toString());
-                trace(list1[4].toXMLString());
-                trace(list1[5].toString());
-                trace(list1[5].toXMLString());
-                
-                delete xml2.a;
-                var aa:XMLList = list2.b;
-                var ab:XMLList = list2.@name;
-                var ac = ab.parent();
-                trace(list2.length());
-                var list3:XMLList = list1.copy();
-                //list1[0].@foo = "food";
-                trace(list1[1].contains(<a name="fred"/>));
-                trace("simple: " +list1[0].hasSimpleContent());
-                trace("complex: " +list1[0].hasComplexContent());
-                trace("simple: " +list1[1].hasSimpleContent());
-                trace("complex: " +list1[1].hasComplexContent());
-                trace("simple: " +list1[2].hasSimpleContent());
-                trace("complex: " +list1[2].hasComplexContent());
-                trace("simple: " +list1.hasSimpleContent());
-                trace("complex: " +list1.hasComplexContent());
-                var list2:XMLList = xml2.b;
-                trace("list 2");
-                trace("simple: " +list2.hasSimpleContent());
-                trace("complex: " +list2.hasComplexContent());
-                var elem:XMLList = list1.elements();
-                var elem2:XMLList = list1.elements("c");
-                var elem3:XMLList = list1.elements("a");
-                trace(list1.toXMLString());
-                trace(list1.toString());
-                trace("done");
-                trace("test 3");
-var xmlSource:XML =
-<xmlParentNode>
-   <Set1>
-      <child><year>2015</year></child>
-      <child><year>2016</year></child>
-      <child><year>2017</year></child>
-  </Set1>
-  <Set2>
-      <child><year>2015</year></child>
-      <child><year>2016</year></child>
-      <child><year>2017</year></child>
-  </Set2>
-</xmlParentNode>;
-
-
-//var xmllcSet1:XMLListCollection = new XMLListCollection();
-//var xmllcSet2:XMLListCollection = new XMLListCollection();
-
-//xmllcSet1.source = xmlSource.Set1.child;
-//xmllcSet2.source = xmlSource.Set2.child;
-
-var xmllcSet1:XMLList = xmlSource.Set1.child;
-var xmllcSet2:XMLList = xmlSource.Set2.child;
-
-trace(xmllcSet1.toXMLString());
-trace(xmllcSet2.toXMLString());
-
-
-//var xmllcFiltered: XMLListCollection = new XMLListCollection();
-
-//xmllcFiltered.source = xmlSource.Set1.child.(year == "2015");
-var xmllcFiltered:XMLList = xmlSource.Set1.child.(year == "2015");
-trace(xmllcFiltered.toXMLString());
-trace("test 4");
-var svg:XML = <svg>
- <group>
-   <rect id="1" />
-   <rect id="2" />
- </group>
- <group>
-   <rect id="3" />
-   <rect id="4" />
- </group>
-</svg>;
-
-var rects:XMLList = svg..rect;
-rects[1].@width = "100px";
-rects.(@id==3).@height = "100px";
-trace(rects.toXMLString());
-            }
+      public function runTest():void
+      {
+        var args:Array;
+        var j:int;
+        var m:int;
+        var list1:XMLList;
+        var list2:XMLList;
+        var list3:XMLList;
+        var list4:XMLList;
+        var xml1:XML = <foo baz="true"/>;
+        trace(xml1.toXMLString());
+        trace(xml1.toXMLString() == '<foo baz="true"/>');
+        var baz:XMLList = xml1.@baz;
+        trace("baz: " + xml1.@baz.toString() + " //true");
+        var child:XML = <pop><child name="Sam"/></pop>;
+        xml1.appendChild(child);
+        child = <pop><child name="George"/></pop>;
+        xml1.appendChild(child);
+        trace(xml1.pop[0].toString());
+        trace(xml1.pop[1].toString());
+        var pop:XMLList = xml1.pop;
+        pop[pop.length()] = <pop><child name="Fred"/></pop>;
+        trace(pop.toString());
+        trace(xml1.toString());
+        pop[0] = <pop><child name="Fred"/></pop>;
+        trace(pop.toString());
+        trace(xml1.toString());
+        
+        
+        var xmlString:String = xml.toXMLString();
+        var script:XML = xml..script[0].children()[0];
+        var kind:String = script.nodeKind();
+        var comment:XML = xml.children()[0];
+        var comKind:String = comment.nodeKind();
+        var instr:XML = xml.processingInstructions()[0];
+        var prod:XML = xml.product[0];
+        //JIRA https://issues.apache.org/jira/browse/FLEX-35069
+        //var catalog_item = xml..('http://ns.adobe.com/mxml/2009')::catalog_item[0];
+        var prod_desc_name:QName = prod.@description.name();
+        //xml2.appendChild(catalog_item);
+        trace(prod.childIndex());
+        list1 = xml2.a;
+        var aaa:XML = list1[0];
+        var aab:XML = list1[0][0][0];
+        list2 = xml2.child("a");
+        list3 = xml2.descendants();
+        list3  = list3.(attribute("name").length());
+        list2[list2.length()] = <c id="1"/>;
+        list2[0] = <bla/>;
+        list4 = new XMLList();
+        list4[0] = <a id="1"/>;
+        list4[1] = <a id="2"/>;
+        list4[2] = <a id="3"/>;
+        //JIRA https://issues.apache.org/jira/browse/FLEX-35072
+        list1 += list4
+        //list1.concat(list4);
+        trace("after concat");
+        trace(xml2.toString());
+        xml2.insertChildAfter(xml2.a,<a id="123"/>);
+        trace(xml2.toString());
+        xml2.a = list4;
+        trace("assigned a");
+        trace(xml2.toString());
+        xml2.a = <a id="123"/>;
+        xml2.a += <a id="456"/>;
+        //xml2.a -= <a id="456"/>;
+        var a:XMLList = xml2.baz
+        trace(xml2.toString());
+        trace(xml2.toXMLString());
+        trace(list1[0].toString());
+        trace(list1[0].toXMLString());
+        trace(list1[1].toString());
+        trace(list1[1].toXMLString());
+        trace(list1[2].toString());
+        trace(list1[2].toXMLString());
+        trace(list1[3].toString());
+        trace(list1[3].toXMLString());
+        aaa = list1[4];
+        trace(list1[4].toString());
+        trace(list1[4].toXMLString());
+        trace(list1[5].toString());
+        trace(list1[5].toXMLString());
+        
+        delete xml2.a;
+        var aa:XMLList = list2.b;
+        var ab:XMLList = list2.@name;
+        var ac:XML = ab.parent();
+        trace(list2.length());
+        list3 = list1.copy();
+        //list1[0].@foo = "food";
+        trace(list1[1].contains(<a name="fred"/>));
+        trace("simple: " +list1[0].hasSimpleContent());
+        trace("complex: " +list1[0].hasComplexContent());
+        trace("simple: " +list1[1].hasSimpleContent());
+        trace("complex: " +list1[1].hasComplexContent());
+        trace("simple: " +list1[2].hasSimpleContent());
+        trace("complex: " +list1[2].hasComplexContent());
+        trace("simple: " +list1.hasSimpleContent());
+        trace("complex: " +list1.hasComplexContent());
+        list2 = xml2.b;
+        trace("list 2");
+        trace("simple: " +list2.hasSimpleContent());
+        trace("complex: " +list2.hasComplexContent());
+        var elem:XMLList = list1.elements();
+        var elem2:XMLList = list1.elements("c");
+        var elem3:XMLList = list1.elements("a");
+        trace(list1.toXMLString());
+        trace(list1.toString());
+        trace("done");
+        trace("test 3");
+        var xmlSource:XML =
+          <xmlParentNode>
+             <Set1>
+              <child><year>2015</year></child>
+              <child><year>2016</year></child>
+              <child><year>2017</year></child>
+            </Set1>
+            <Set2>
+              <child><year>2015</year></child>
+              <child><year>2016</year></child>
+              <child><year>2017</year></child>
+            </Set2>
+          </xmlParentNode>;
+        
+        
+        //var xmllcSet1:XMLListCollection = new XMLListCollection();
+        //var xmllcSet2:XMLListCollection = new XMLListCollection();
+        
+        //xmllcSet1.source = xmlSource.Set1.child;
+        //xmllcSet2.source = xmlSource.Set2.child;
+        
+        var xmllcSet1:XMLList = xmlSource.Set1.child;
+        var xmllcSet2:XMLList = xmlSource.Set2.child;
+        
+        trace(xmllcSet1.toXMLString());
+        trace(xmllcSet2.toXMLString());
+        
+        
+        //var xmllcFiltered: XMLListCollection = new XMLListCollection();
+        
+        //xmllcFiltered.source = xmlSource.Set1.child.(year == "2015");
+        var xmllcFiltered:XMLList = xmlSource.Set1.child.(year == "2015");
+        trace(xmllcFiltered.toXMLString());
+        trace("test 4");
+        var svg:XML = <svg>
+         <group>
+           <rect id="1" />
+           <rect id="2" />
+         </group>
+         <group>
+           <rect id="3" />
+           <rect id="4" />
+         </group>
+        </svg>;
+        
+        var rects:XMLList = svg..rect;
+        rects[1].@width = "100px";
+        rects.(@id==3).@height = "100px";
+        trace(rects.toXMLString());
+      }
 		]]>
 	</fx:Script>