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 2019/05/24 22:39:14 UTC
[royale-asjs] branch improvements/Language updated: Last commit was
empty...this time with changes!:Fix coercion of undefined value in
Vector.,
added more specific tests for Vector. and Vector.
This is an automated email from the ASF dual-hosted git repository.
gregdove pushed a commit to branch improvements/Language
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/improvements/Language by this push:
new c16f580 Last commit was empty...this time with changes!:Fix coercion of undefined value in Vector.<String>, added more specific tests for Vector.<String> and Vector.<Boolean>
c16f580 is described below
commit c16f5800549eb5db6363ecc19f351f88f284509d
Author: greg-dove <gr...@gmail.com>
AuthorDate: Sat May 25 10:38:47 2019 +1200
Last commit was empty...this time with changes!:Fix coercion of undefined value in Vector.<String>, added more specific tests for Vector.<String> and Vector.<Boolean>
---
.../royale/org/apache/royale/utils/Language.as | 2 +-
.../language/LanguageTesterTestVector.as | 51 ++++++++++++++++++++++
2 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as b/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as
index 796cdc6..ee2e1a5 100644
--- a/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as
+++ b/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as
@@ -723,7 +723,7 @@ class VectorSupport {
'int': Language._int,
'uint': Language.uint,
'Number': Number,
- 'String': String,
+ 'String': Language.string,
'Boolean': Boolean,
"*": identity,
"Object": identity
diff --git a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
index 3a14564..ee8ceca 100644
--- a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
+++ b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
@@ -293,6 +293,57 @@ package flexUnitTests.language
}
[Test]
+ public function testString():void
+ {
+ var inst:Vector.<String> = new Vector.<String>();
+ var something:* = undefined;
+ inst[0] = null;
+ inst[1] = undefined;
+ inst[2] = '';
+ inst[3] = new String();
+ inst[4] = something;
+ Assert.assertTrue('unexpected coercion result', inst[0] === null);
+ Assert.assertTrue('unexpected coercion result', inst[1] === null);
+ Assert.assertTrue('unexpected coercion result', inst[2] === '');
+ Assert.assertTrue('unexpected coercion result', inst[3] === '');
+ Assert.assertTrue('unexpected coercion result', inst[4] === null);
+
+ inst.push(undefined);
+ Assert.assertTrue('unexpected coercion result', inst.pop() === null);
+ inst.push(something);
+ Assert.assertTrue('unexpected coercion result', inst.pop() === null);
+ }
+
+ [Test]
+ public function testBoolean():void
+ {
+ var inst:Vector.<Boolean> = new Vector.<Boolean>();
+ var nothing:* = undefined;
+ var something:* = {};
+ inst[0] = null;
+ inst[1] = undefined;
+ inst[2] = '';
+ inst[3] = new String();
+ inst[4] = nothing;
+ inst[5] = something;
+ Assert.assertTrue('unexpected coercion result', inst[0] === false);
+ Assert.assertTrue('unexpected coercion result', inst[1] === false);
+ Assert.assertTrue('unexpected coercion result', inst[2] === false);
+ Assert.assertTrue('unexpected coercion result', inst[3] === false);
+ Assert.assertTrue('unexpected coercion result', inst[4] === false);
+ Assert.assertTrue('unexpected coercion result', inst[5] === true);
+
+ inst.push(undefined);
+ Assert.assertTrue('unexpected coercion result', inst.pop() === false);
+ inst.push(nothing);
+ Assert.assertTrue('unexpected coercion result', inst.pop() === false);
+ inst.push(something);
+ Assert.assertTrue('unexpected coercion result', inst.pop() === true);
+ }
+
+
+
+ [Test]
public function testFixedVectorMutationMethodCoercion():void
{
var tc1Vec:Vector.<TestClass1> = new Vector.<TestClass1>();