You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2020/04/24 06:55:54 UTC
[royale-asjs] 04/06: Add test for XML literal interpolation
This is an automated email from the ASF dual-hosted git repository.
gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 6898a43cf12c4f856fc494d4140f09a3200e70b0
Author: greg-dove <gr...@gmail.com>
AuthorDate: Fri Apr 24 18:20:50 2020 +1200
Add test for XML literal interpolation
---
.../XML/src/test/royale/flexUnitTests/XMLTester.as | 2 +
.../royale/flexUnitTests/xml/XMLLiteralTest.as | 127 +++++++++++++++++++++
2 files changed, 129 insertions(+)
diff --git a/frameworks/projects/XML/src/test/royale/flexUnitTests/XMLTester.as b/frameworks/projects/XML/src/test/royale/flexUnitTests/XMLTester.as
index 17b01f1..8fa925c 100644
--- a/frameworks/projects/XML/src/test/royale/flexUnitTests/XMLTester.as
+++ b/frameworks/projects/XML/src/test/royale/flexUnitTests/XMLTester.as
@@ -49,6 +49,8 @@ package flexUnitTests
public var xmlNamespaceQueries:XMLTesterNamespaceQueries;
public var xmllistInterationTests:XMLListTesterIterationlTest;
+
+ public var xmlLiteralTest:XMLLiteralTest;
}
}
diff --git a/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLLiteralTest.as b/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLLiteralTest.as
new file mode 100644
index 0000000..c5bbd65
--- /dev/null
+++ b/frameworks/projects/XML/src/test/royale/flexUnitTests/xml/XMLLiteralTest.as
@@ -0,0 +1,127 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.xml
+{
+
+
+ import org.apache.royale.test.asserts.*;
+
+
+ /**
+ * @royalesuppresspublicvarwarning
+ */
+ public class XMLLiteralTest
+ {
+ public static var isJS:Boolean = COMPILE::JS;
+
+
+ private var settings:Object;
+
+
+ [Before]
+ public function setUp():void
+ {
+ settings = XML.settings();
+ }
+
+ [After]
+ public function tearDown():void
+ {
+ XML.setSettings(settings);
+ }
+
+ [BeforeClass]
+ public static function setUpBeforeClass():void
+ {
+
+ }
+
+ [AfterClass]
+ public static function tearDownAfterClass():void
+ {
+
+ }
+
+
+ [Test]
+ public function testSimpleLiteral():void
+ {
+ var xml1:XML = <foo baz="true"/>;
+
+ assertEquals( xml1.toXMLString(),'<foo baz="true"/>', 'unexpected result from simple XML literal roundtripping');
+ }
+
+
+
+
+ [Test]
+ public function testLocalVarInsertion():void
+ {
+ var test:String='testVal';
+
+ var xml1:XML = <foo baz="true">
+ <testVar>{test}</testVar>
+ </foo>;
+
+ assertEquals( xml1.testVar.toString() , "testVal", 'toString value should be "testVal" ');
+
+ }
+
+ [Test]
+ public function testComplexInsertion():void
+ {
+ var contentSource:ExternalSource = new ExternalSource();
+
+ var xml:XML = <outer xmlns='http://something' other="test" strange='"test"' another="'test'">
+ <inner>
+ <something>anything</something>
+ <contentString att='someAttributeVal'>{contentSource.stringVal + ' with appended literal string'}</contentString>
+ <contentBoolVal att='someAttributeVal'>{String(contentSource.boolVal)}</contentBoolVal>
+ <contentNumVal att='someAttributeVal'>{contentSource.numVal}</contentNumVal>
+ <someExternalStaticValue att='someAttributeVal'>{ExternalSource.getAValue()}</someExternalStaticValue>
+ </inner>
+ </outer>;
+
+ assertEquals( xml.toXMLString() , '<outer other="test" strange=""test"" another="\'test\'" xmlns="http://something">\n' +
+ ' <inner>\n' +
+ ' <something>anything</something>\n' +
+ ' <contentString att="someAttributeVal">stringVal with appended literal string</contentString>\n' +
+ ' <contentBoolVal att="someAttributeVal">true</contentBoolVal>\n' +
+ ' <contentNumVal att="someAttributeVal">10</contentNumVal>\n' +
+ ' <someExternalStaticValue att="someAttributeVal">ExternalSource.gotValue</someExternalStaticValue>\n' +
+ ' </inner>\n' +
+ '</outer>', 'unexpected result from XML literal complex insertion at construction');
+
+ }
+ }
+}
+
+class ExternalSource{
+
+ public static function getAValue():String{
+ return 'ExternalSource.gotValue';
+ }
+
+ public var stringVal:String = 'stringVal';
+ public function get boolVal():Boolean{
+ return true;
+ }
+
+ public var numVal:Number = 10;
+}