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 3b82478c52cde2979054ba6562cda5b66ab163a0
Author: greg-dove <[email protected]>
AuthorDate: Wed Aug 7 09:29:36 2019 +1200

    Aligning Language tests between manualtests project and RoyaleUnit
---
 .../language/LanguageTesterIntUint.as              | 22 +++++++++++++++
 .../flexUnitTests/language/LanguageTesterTestIs.as | 31 ++++++++++++++++++++++
 .../language/LanguageTesterTestVector.as           | 24 ++++++++++++++++-
 .../language/LanguageTesterIntUint.as              | 12 +++------
 .../language/LanguageTesterTestClass.as            | 10 +++----
 .../flexUnitTests/language/LanguageTesterTestIs.as | 12 +++------
 .../language/LanguageTesterTestVector.as           | 10 +++----
 7 files changed, 90 insertions(+), 31 deletions(-)

diff --git 
a/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterIntUint.as
 
b/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterIntUint.as
index 4d5d1cc..da3c82d 100644
--- 
a/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterIntUint.as
+++ 
b/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterIntUint.as
@@ -159,6 +159,28 @@ package flexUnitTests.language
             assertTrue( untyped === 31.5,'Unexpected Number check');
             
         }
+    
+    
+        [Test]
+        //[TestVariance(variance="JS", description="Variance in js 
implementation with @royalesuppressresolveuncertain, strict equality can fail")]
+        /**
+         * @royalesuppressresolveuncertain c
+         */
+        public function testNoResolveUncertain():void
+        {
+
+            var c:Class = int;
+            var untyped:* = new c(30);
+            var expected:Boolean = isJS ? false : true;
+            assertEquals(  expected, untyped === 30,'Unexpected int check');
+            // b does not have suppression, only c does above (via 
@royalesuppressresolveuncertain c)
+            expected = true;
+            var b:Class = String;
+           // c = String;
+            untyped = new b(30);
+            assertEquals(expected, untyped === '30', 'Unexpected String 
check');
+        
+        }
         
     }
 }
diff --git 
a/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestIs.as
 
b/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestIs.as
index f17203e..4e5b82d 100644
--- 
a/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestIs.as
+++ 
b/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestIs.as
@@ -220,6 +220,37 @@ package flexUnitTests.language
             assertTrue( caughtError,'Unexpected coercion check');
             assertTrue( testClass3 == null,'Unexpected coercion check');
         }
+    
+    
+        [Test]
+        //[TestVariance(variance="JS",description="Variance in js 
implementation with @royalesuppresscompleximplicitcoercion, outcome can be 
wrong")]
+        /**
+         * @royalesuppresscompleximplicitcoercion true
+         */
+        public function testImplicitCoercionAvoided():void
+        {
+            var testclass2Class:Class = TestClass2;
+            var testClass3:TestClass3;
+            var something:* = new testclass2Class();
+            var caughtError:Boolean;
+            try
+            {
+                caughtError = false;
+                testClass3 = something;
+            } catch (e:Error)
+            {
+                caughtError = e is TypeError
+            }
+        
+            if (isJS) {
+                assertFalse( caughtError, 'Unexpected coercion check');
+                assertFalse(testClass3 == null, 'Unexpected coercion check');
+            } else {
+                assertTrue(caughtError, 'Unexpected coercion check');
+                assertTrue(testClass3 == null, 'Unexpected coercion check');
+            }
+        
+        }
         
         [Test]
         public function testNullUndefined():void
diff --git 
a/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestVector.as
 
b/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestVector.as
index 62d3990..933f173 100644
--- 
a/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestVector.as
+++ 
b/frameworks/projects/Core/src/test/royale/flexUnitTests/language/LanguageTesterTestVector.as
@@ -819,6 +819,28 @@ package flexUnitTests.language
             const expected:Class = isJS ? Vector.<String> : Vector.<*>;
             assertTrue( vs['constructor'] === expected,'Unexpected Vector 
check');
         }
+    
+        [Test]
+        public function testVectorRemoveAtType():void{
+            if (hasInsertAtRemoveAt()) {
+                var customClasses:Array = [null, new TestClass2(), undefined, 
new TestClass1()];
+    
+                var vcustom:Vector.<TestClass1> = 
Vector.<TestClass1>(customClasses);
+    
+                COMPILE::SWF{
+                    var tc1:TestClass1 = vcustom['removeAt'](1);
+                }
+                COMPILE::JS{
+                    var tc1:TestClass1 = vcustom.removeAt(1);
+                }
+                assertTrue(tc1 != null, 'Unexpected Vector check');
+                assertTrue(tc1 is TestClass1, 'Unexpected Vector check');
+                assertTrue(tc1 is TestClass2, 'Unexpected Vector check');
+            } else {
+                assertTrue(true);
+            }
+           
+        }
         
         
         private var _viTest:Vector.<int>;
@@ -1397,10 +1419,10 @@ package flexUnitTests.language
         
         }
         
-        
     }
 }
 
+
 class PrivateClass {
     
     public function PrivateClass(){
diff --git 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterIntUint.as
 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterIntUint.as
index 61e1375..3ef7135 100644
--- 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterIntUint.as
+++ 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterIntUint.as
@@ -29,17 +29,13 @@ package flexUnitTests.language
      */
     public class LanguageTesterIntUint
     {
-        
-        public static var isJS:Boolean;
-        
+    
+        public static var isJS:Boolean = COMPILE::JS;
+    
+    
         [BeforeClass]
         public static function setUpBeforeClass():void
         {
-            var js:Boolean;
-            COMPILE::JS {
-                js = true;
-            }
-            isJS = js;
         }
         
         [AfterClass]
diff --git 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestClass.as
 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestClass.as
index 6d046a1..7714092 100644
--- 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestClass.as
+++ 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestClass.as
@@ -29,17 +29,13 @@ package flexUnitTests.language
      */
     public class LanguageTesterTestClass
     {
-        
-        public static var isJS:Boolean;
+    
+        public static var isJS:Boolean = COMPILE::JS;
         
         [BeforeClass]
         public static function setUpBeforeClass():void
         {
-            var js:Boolean;
-            COMPILE::JS {
-                js = true;
-            }
-            isJS = js;
+
         }
         
         [AfterClass]
diff --git 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestIs.as
 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestIs.as
index ab0c287..dec5d85 100644
--- 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestIs.as
+++ 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestIs.as
@@ -29,17 +29,13 @@ package flexUnitTests.language
      */
     public class LanguageTesterTestIs
     {
-        
-        public static var isJS:Boolean;
+    
+        public static var isJS:Boolean = COMPILE::JS;
         
         [BeforeClass]
         public static function setUpBeforeClass():void
         {
-            var js:Boolean;
-            COMPILE::JS {
-                js = true;
-            }
-            isJS = js;
+
         }
         
         [AfterClass]
@@ -253,7 +249,7 @@ package flexUnitTests.language
                 Assert.assertTrue('Unexpected coercion check', caughtError);
                 Assert.assertTrue('Unexpected coercion check', testClass3 == 
null);
             }
-            
+        
         }
         
         [Test]
diff --git 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
index 52c6d4c..aa53c61 100644
--- 
a/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
+++ 
b/manualtests/UnitTests/src/main/royale/flexUnitTests/language/LanguageTesterTestVector.as
@@ -29,8 +29,8 @@ package flexUnitTests.language
      */
     public class LanguageTesterTestVector
     {
-        
-        public static var isJS:Boolean;
+    
+        public static var isJS:Boolean = COMPILE::JS;
     
     
         public static function hasInsertAtRemoveAt():Boolean{
@@ -49,11 +49,6 @@ package flexUnitTests.language
         [BeforeClass]
         public static function setUpBeforeClass():void
         {
-            var js:Boolean;
-            COMPILE::JS {
-                js = true;
-            }
-            isJS = js;
         }
         
         [AfterClass]
@@ -1411,6 +1406,7 @@ package flexUnitTests.language
             Assert.assertTrue('Unexpected Vector check', v[0] is PrivateClass);
             
         }
+        
     }
 }
 

Reply via email to