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>