You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by er...@apache.org on 2013/11/01 12:33:15 UTC

[02/10] git commit: [flex-falcon] [refs/heads/develop] - Test project for 'as' and 'is' operators in FlexJS.

Test project for 'as' and 'is' operators in FlexJS.

Note: the HTML file needs valid references to both 'goog.base' and 'org.apache.flex.utils.Language' for it to work. This file is included as reference more than a functional test.
Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/8b36845a
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/8b36845a
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/8b36845a

Branch: refs/heads/develop
Commit: 8b36845a6781f0e211d0a1d3e3911eb6b097eab6
Parents: 896b91b
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 1 09:57:02 2013 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 1 12:32:58 2013 +0100

----------------------------------------------------------------------
 .../flexjs/projects/interfaces/Test.as          | 14 +++++
 .../flexjs/projects/interfaces/Test_result.js   | 21 +++++++
 .../flexjs/projects/interfaces/classes/A.as     | 10 ++++
 .../projects/interfaces/classes/A_result.js     | 12 ++++
 .../flexjs/projects/interfaces/classes/B.as     |  7 +++
 .../projects/interfaces/classes/B_result.js     |  8 +++
 .../flexjs/projects/interfaces/classes/C.as     |  7 +++
 .../projects/interfaces/classes/C_result.js     |  8 +++
 .../flexjs/projects/interfaces/interfaces/IA.as |  4 ++
 .../projects/interfaces/interfaces/IA_result.js | 13 +++++
 .../flexjs/projects/interfaces/interfaces/IB.as |  4 ++
 .../projects/interfaces/interfaces/IB_result.js |  7 +++
 .../flexjs/projects/interfaces/interfaces/IC.as |  4 ++
 .../projects/interfaces/interfaces/IC_result.js | 13 +++++
 .../flexjs/projects/interfaces/interfaces/ID.as |  4 ++
 .../projects/interfaces/interfaces/ID_result.js |  8 +++
 .../flexjs/projects/interfaces/interfaces/IE.as |  4 ++
 .../projects/interfaces/interfaces/IE_result.js |  8 +++
 .../flexjs/projects/interfaces/testTest.html    | 58 ++++++++++++++++++++
 19 files changed, 214 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test.as
new file mode 100644
index 0000000..4715e4c
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test.as
@@ -0,0 +1,14 @@
+package
+{
+	import classes.A;
+	import interfaces.IA;
+	import interfaces.IE;
+
+  public class Test extends A implements IA, IE
+  {
+    public function Test()
+    {
+      super();
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js
new file mode 100644
index 0000000..40ac8e7
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js
@@ -0,0 +1,21 @@
+goog.provide('Test');
+
+goog.require('classes.A');
+
+goog.require('org.apache.flex.utils.Language');
+
+/**
+ * @constructor
+ * @extends {classes.A}
+ * @implements {interfaces.IA}
+ * @implements {interfaces.IE}
+ */
+Test = function() {
+	goog.base(this);
+}
+goog.inherits(Test, classes.A);
+
+/**
+ * @const
+ */
+Test.prototype.AFJS_INTERFACES = [interfaces.IA, interfaces.IE];

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A.as
new file mode 100644
index 0000000..d610c70
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A.as
@@ -0,0 +1,10 @@
+package classes
+{
+  public class A extends C
+  {
+    public function A()
+    {
+      super();
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result.js
new file mode 100644
index 0000000..48c2497
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result.js
@@ -0,0 +1,12 @@
+goog.provide('classes.A');
+
+goog.require('classes.C');
+
+/**
+ * @constructor
+ * @extends {classes.C}
+ */
+classes.A = function() {
+	goog.base(this);
+}
+goog.inherits(classes.A, classes.C);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B.as
new file mode 100644
index 0000000..8f5748a
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B.as
@@ -0,0 +1,7 @@
+package classes
+{
+    public class B
+    {
+        public function B() {}
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result.js
new file mode 100644
index 0000000..d1fe335
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result.js
@@ -0,0 +1,8 @@
+goog.provide('classes.B');
+
+
+/**
+ * @constructor
+ */
+classes.B = function() {
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C.as
new file mode 100644
index 0000000..953c9f1
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C.as
@@ -0,0 +1,7 @@
+package classes
+{
+    public class C
+    {
+        public function C() {}
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result.js
new file mode 100644
index 0000000..7aa37e6
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result.js
@@ -0,0 +1,8 @@
+goog.provide('classes.C');
+
+
+/**
+ * @constructor
+ */
+classes.C = function() {
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA.as
new file mode 100644
index 0000000..b288321
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA.as
@@ -0,0 +1,4 @@
+package interfaces
+{
+  public interface IA extends IC {}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_result.js
new file mode 100644
index 0000000..e052dfc
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_result.js
@@ -0,0 +1,13 @@
+goog.provide('interfaces.IA');
+
+/**
+ * @interface
+ * @extends {interfaces.IC}
+ */
+interfaces.IA = function() {
+};
+
+/**
+ * @const
+ */
+interfaces.IA.AFJS_INTERFACES = [interfaces.IC];

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB.as
new file mode 100644
index 0000000..b6f8925
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB.as
@@ -0,0 +1,4 @@
+package interfaces
+{
+    public interface IB {}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_result.js
new file mode 100644
index 0000000..e50057d
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_result.js
@@ -0,0 +1,7 @@
+goog.provide('interfaces.IB');
+
+/**
+ * @interface
+ */
+interfaces.IB = function() {
+};

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC.as
new file mode 100644
index 0000000..9fcdd56
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC.as
@@ -0,0 +1,4 @@
+package interfaces
+{
+  public interface IC extends ID {}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_result.js
new file mode 100644
index 0000000..5e57530
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_result.js
@@ -0,0 +1,13 @@
+goog.provide('interfaces.IC');
+
+/**
+ * @interface
+ * @extends {interfaces.ID}
+ */
+interfaces.IC = function() {
+};
+
+/**
+ * @const
+ */
+interfaces.IC.AFJS_INTERFACES = [interfaces.ID];

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID.as
new file mode 100644
index 0000000..1bae05b
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID.as
@@ -0,0 +1,4 @@
+package interfaces
+{
+    public interface ID {}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_result.js
new file mode 100644
index 0000000..d25c4a4
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_result.js
@@ -0,0 +1,8 @@
+goog.provide('interfaces.ID');
+
+
+/**
+ * @interface
+ */
+interfaces.ID = function() {
+};

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE.as b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE.as
new file mode 100644
index 0000000..b40e49e
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE.as
@@ -0,0 +1,4 @@
+package interfaces
+{
+    public interface IE {}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_result.js b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_result.js
new file mode 100644
index 0000000..bb526de
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_result.js
@@ -0,0 +1,8 @@
+goog.provide('interfaces.IE');
+
+
+/**
+ * @interface
+ */
+interfaces.IE = function() {
+};

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8b36845a/compiler.jx.tests/test-files/flexjs/projects/interfaces/testTest.html
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/flexjs/projects/interfaces/testTest.html b/compiler.jx.tests/test-files/flexjs/projects/interfaces/testTest.html
new file mode 100644
index 0000000..6031301
--- /dev/null
+++ b/compiler.jx.tests/test-files/flexjs/projects/interfaces/testTest.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+	<script type="text/javascript" src="./library/closure/goog/base.js"></script>
+	<script type="text/javascript" src="./classes/C_result.js"></script>
+	<script type="text/javascript" src="./classes/B_result.js"></script>
+	<script type="text/javascript" src="./classes/A_result.js"></script>
+	<script type="text/javascript" src="./interfaces/IE_result.js"></script>
+	<script type="text/javascript" src="./interfaces/ID_result.js"></script>
+	<script type="text/javascript" src="./interfaces/IC_result.js"></script>
+	<script type="text/javascript" src="./interfaces/IB_result.js"></script>
+	<script type="text/javascript" src="./interfaces/IA_result.js"></script>
+	<script type="text/javascript" src="./org/apache/flex/utils/Language.js"></script>
+	<script type="text/javascript" src="./Test_result.js"></script>
+	<script type="text/javascript">
+		goog.require('Test');
+	</script>
+</head>
+<body>
+	<script type="text/javascript">
+		
+		var test = new Test();
+
+		org.apache.flex.utils.Language.trace('test instanceof classes.A - true: ' + (test instanceof classes.A).toString());
+		org.apache.flex.utils.Language.trace('test instanceof classes.B - false: ' + (test instanceof classes.B).toString());
+		org.apache.flex.utils.Language.trace('test instanceof classes.C - true: ' + (test instanceof classes.C).toString());
+	    org.apache.flex.utils.Language.trace('test instanceof interfaces.IA - false: ' + (test instanceof interfaces.IA).toString());
+	    org.apache.flex.utils.Language.trace('test instanceof interfaces.IB - false: ' + (test instanceof interfaces.IB).toString());
+	    org.apache.flex.utils.Language.trace('test instanceof interfaces.IC - false: ' + (test instanceof interfaces.IC).toString());
+	    org.apache.flex.utils.Language.trace('test instanceof interfaces.ID - false: ' + (test instanceof interfaces.ID).toString());
+	    org.apache.flex.utils.Language.trace('test instanceof interfaces.IE - false: ' + (test instanceof interfaces.IE).toString());
+	
+	    org.apache.flex.utils.Language.trace('test is(test, classes.A) - true: ' + (org.apache.flex.utils.Language.is(test, classes.A)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, classes.B) - false: ' + (org.apache.flex.utils.Language.is(test, classes.B)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, classes.C) - true: ' + (org.apache.flex.utils.Language.is(test, classes.C)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, interfaces.IA) - true: ' + (org.apache.flex.utils.Language.is(test, interfaces.IA)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, interfaces.IB) - false: ' + (org.apache.flex.utils.Language.is(test, interfaces.IB)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, interfaces.IC) - true: ' + (org.apache.flex.utils.Language.is(test, interfaces.IC)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, interfaces.ID) - true: ' + (org.apache.flex.utils.Language.is(test, interfaces.ID)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, interfaces.IE) - true: ' + (org.apache.flex.utils.Language.is(test, interfaces.IE)).toString());
+	    org.apache.flex.utils.Language.trace('test is(test, function() {}) - false: ' + (org.apache.flex.utils.Language.is(test, function() {})).toString());
+	
+	    org.apache.flex.utils.Language.trace('test as(test, classes.A) - [object Object]: ' + org.apache.flex.utils.Language.as(test, classes.A));
+	    org.apache.flex.utils.Language.trace('test as(test, classes.B) - null: ' + org.apache.flex.utils.Language.as(test, classes.B));
+	    org.apache.flex.utils.Language.trace('test as(test, classes.C) - [object Object]: ' + org.apache.flex.utils.Language.as(test, classes.C));
+	    org.apache.flex.utils.Language.trace('test as(test, interfaces.IA) - [object Object]: ' + org.apache.flex.utils.Language.as(test, interfaces.IA));
+	    org.apache.flex.utils.Language.trace('test as(test, interfaces.IB) - null: ' + org.apache.flex.utils.Language.as(test, interfaces.IB));
+	    org.apache.flex.utils.Language.trace('test as(test, interfaces.IC) - [object Object]: ' + org.apache.flex.utils.Language.as(test, interfaces.IC));
+	    org.apache.flex.utils.Language.trace('test as(test, interfaces.ID) - [object Object]: ' + org.apache.flex.utils.Language.as(test, interfaces.ID));
+	    org.apache.flex.utils.Language.trace('test as(test, interfaces.IE) - [object Object]: ' + org.apache.flex.utils.Language.as(test, interfaces.IE));
+	    org.apache.flex.utils.Language.trace('test as(test, function() {}) - null: ' + org.apache.flex.utils.Language.as(test, function() {}));
+
+	</script>
+</body>
+</html>
\ No newline at end of file