/test/acceptance/as3/Definitions/Classes/Ext/DynExtDefaultClassPub.as

https://github.com/adobe/avmplus · ActionScript · 235 lines · 64 code · 58 blank · 113 comment · 0 complexity · dc7ce67ace49f5d68635e141451c3daf MD5 · raw file

  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  4. import DefaultClass.*;
  5. import com.adobe.test.Assert;
  6. // var SECTION = "Definitions"; // provide a document reference (ie, ECMA section)
  7. // var VERSION = "AS3"; // Version of JavaScript or ECMA
  8. // var TITLE = "Public Class Extends Default Class"; // Provide ECMA section title or a description
  9. var BUGNUMBER = "";
  10. /**
  11. * Calls to Assert.expectEq here. Assert.expectEq is a function that is defined
  12. * in shell.js and takes three arguments:
  13. * - a string representation of what is being tested
  14. * - the expected result
  15. * - the actual result
  16. *
  17. * For example, a test might look like this:
  18. *
  19. * var helloWorld = "Hello World";
  20. *
  21. * Assert.expectEq(
  22. * "var helloWorld = 'Hello World'", // description of the test
  23. * "Hello World", // expected result
  24. * helloWorld ); // actual result
  25. *
  26. */
  27. var EXTDCLASS = new DynExtDefaultClassPub();
  28. var arr = new Array(10, 15, 20, 25, 30);
  29. // *******************************************
  30. // access public method of parent class from
  31. // outside of class
  32. // *******************************************
  33. Assert.expectEq( "*** Access from outside of class ***", 1, 1 );
  34. Assert.expectEq( "EXTDCLASS.setPubArray(arr), EXTDCLASS.getPubArray", arr, (EXTDCLASS.setPubArray(arr), EXTDCLASS.getPubArray()) );
  35. // ********************************************
  36. // access public method from a default
  37. // method of a sub class
  38. //
  39. // ********************************************
  40. EXTDCLASS = new DynExtDefaultClassPub();
  41. Assert.expectEq( "*** Access public method from default method of sub class ***", 1, 1 );
  42. Assert.expectEq( "EXTDCLASS.testSubArray(arr)", arr, (EXTDCLASS.testSubArray(arr)) );
  43. // ********************************************
  44. // access public method from a public
  45. // method of a sub class
  46. //
  47. // ********************************************
  48. EXTDCLASS = new DynExtDefaultClassPub();
  49. Assert.expectEq( "*** Access public method from public method of sub class ***", 1, 1 );
  50. Assert.expectEq( "EXTDCLASS.pubSubSetArray(arr), EXTDCLASS.pubSubGetArray()", arr, (EXTDCLASS.pubSubSetArray(arr), EXTDCLASS.pubSubGetArray()) );
  51. // ********************************************
  52. // access public method from a private
  53. // method of a sub class
  54. //
  55. // ********************************************
  56. EXTDCLASS = new DynExtDefaultClassPub();
  57. Assert.expectEq( "*** Access public method from private method of sub class ***", 1, 1 );
  58. Assert.expectEq( "EXTDCLASS.testPrivSubArray(arr)", arr, EXTDCLASS.testPrivSubArray(arr) );
  59. // ********************************************
  60. // access public method from a final
  61. // method of a sub class
  62. //
  63. // ********************************************
  64. EXTDCLASS = new DynExtDefaultClassPub();
  65. Assert.expectEq( "*** Access public method from final method of sub class ***", 1, 1 );
  66. Assert.expectEq( "EXTDCLASS.testFinSubArray(arr)", arr, (EXTDCLASS.testFinSubArray(arr)) );
  67. // ********************************************
  68. // access public method from a final
  69. // method of a sub class
  70. //
  71. // ********************************************
  72. EXTDCLASS = new DynExtDefaultClassPub();
  73. Assert.expectEq( "*** Access public method from final method of sub class ***", 1, 1 );
  74. Assert.expectEq( "EXTDCLASS.testPubFinSubArray(arr)", arr, (EXTDCLASS.testPubFinSubArray(arr)) );
  75. // ********************************************
  76. // access public method from a final
  77. // method of a sub class
  78. //
  79. // ********************************************
  80. EXTDCLASS = new DynExtDefaultClassPub();
  81. Assert.expectEq( "*** Access public method from final method of sub class ***", 1, 1 );
  82. Assert.expectEq( "EXTDCLASS.testPrivFinSubArray(arr)", arr, (EXTDCLASS.testPrivFinSubArray(arr)) );
  83. // ********************************************
  84. // access public method from a virtual
  85. // method of a sub class
  86. //
  87. // ********************************************
  88. EXTDCLASS = new DynExtDefaultClassPub();
  89. Assert.expectEq( "*** Access public method from virtual method of sub class ***", 1, 1 );
  90. Assert.expectEq( "EXTDCLASS.testVirSubArray(arr)", arr, (EXTDCLASS.testVirSubArray(arr)) );
  91. // ********************************************
  92. // access public method from a public virtual
  93. // method of a sub class
  94. //
  95. // ********************************************
  96. EXTDCLASS = new DynExtDefaultClassPub();
  97. Assert.expectEq( "*** Access public method from public virtual method of sub class ***", 1, 1 );
  98. Assert.expectEq( "EXTDCLASS.testPubVirSubArray(arr)", arr, (EXTDCLASS.testPubVirSubArray(arr)) );
  99. // ********************************************
  100. // access public method from a private virtual
  101. // method of a sub class
  102. //
  103. // ********************************************
  104. EXTDCLASS = new DynExtDefaultClassPub();
  105. Assert.expectEq( "*** Access public method from private virtual method of sub class ***", 1, 1 );
  106. Assert.expectEq( "EXTDCLASS.testPrivVirSubArray(arr)", arr, (EXTDCLASS.testPrivVirSubArray(arr)) );
  107. // ********************************************
  108. // access public property from outside
  109. // the class
  110. // ********************************************
  111. EXTDCLASS = new DynExtDefaultClassPub();
  112. Assert.expectEq( "*** Access public property from outside the class ***", 1, 1 );
  113. Assert.expectEq( "EXTDCLASS.pubArray = arr", arr, (EXTDCLASS.pubArray = arr, EXTDCLASS.pubArray) );
  114. // ********************************************
  115. // access public property from
  116. // default method in sub class
  117. // ********************************************
  118. EXTDCLASS = new DynExtDefaultClassPub();
  119. Assert.expectEq( "*** Access public property from default method in sub class ***", 1, 1 );
  120. Assert.expectEq( "EXTDCLASS.testSubDPArray(arr)", arr, (EXTDCLASS.testSubDPArray(arr)) );
  121. // ********************************************
  122. // access public property from
  123. // public method in sub class
  124. // ********************************************
  125. EXTDCLASS = new DynExtDefaultClassPub();
  126. Assert.expectEq( "*** Access public property from public method in sub class ***", 1, 1 );
  127. Assert.expectEq( "EXTDCLASS.pubSubSetDPArray(arr), EXTDCLASS.pubSubGetDPArray()", arr, (EXTDCLASS.pubSubSetDPArray(arr), EXTDCLASS.pubSubGetDPArray()) );
  128. // ********************************************
  129. // access public property from
  130. // private method in sub class
  131. // ********************************************
  132. EXTDCLASS = new DynExtDefaultClassPub();
  133. Assert.expectEq( "*** Access public property from private method in sub class ***", 1, 1 );
  134. Assert.expectEq( "EXTDCLASS.testPrivDPArray(arr)", arr, (EXTDCLASS.testPrivDPArray(arr)) );
  135. // ********************************************
  136. // access public property from
  137. // final method in sub class
  138. // ********************************************
  139. EXTDCLASS = new DynExtDefaultClassPub();
  140. Assert.expectEq( "*** Access public property from final method in sub class ***", 1, 1 );
  141. Assert.expectEq( "EXTDCLASS.testFinDPArray(arr)", arr, (EXTDCLASS.testFinDPArray(arr)) );
  142. // ********************************************
  143. // access public property from
  144. // public final method in sub class
  145. // ********************************************
  146. EXTDCLASS = new DynExtDefaultClassPub();
  147. Assert.expectEq( "*** Access public property from public final method in sub class ***", 1, 1 );
  148. Assert.expectEq( "EXTDCLASS.testPubFinDPArray(arr)", arr, (EXTDCLASS.testPubFinDPArray(arr)) );
  149. // ********************************************
  150. // access public property from
  151. // private final method in sub class
  152. // ********************************************
  153. EXTDCLASS = new DynExtDefaultClassPub();
  154. Assert.expectEq( "*** Access public property from private final method in sub class ***", 1, 1 );
  155. Assert.expectEq( "EXTDCLASS.testPrivFinDPArray(arr)", arr, (EXTDCLASS.testPrivFinDPArray(arr)) );
  156. // ********************************************
  157. // access public property from
  158. // virtual method in sub class
  159. // ********************************************
  160. EXTDCLASS = new DynExtDefaultClassPub();
  161. Assert.expectEq( "*** Access public property from final method in sub class ***", 1, 1 );
  162. Assert.expectEq( "EXTDCLASS.testVirDPArray(arr)", arr, (EXTDCLASS.testVirDPArray(arr)) );
  163. // ********************************************
  164. // access public property from
  165. // public virtual method in sub class
  166. // ********************************************
  167. EXTDCLASS = new DynExtDefaultClassPub();
  168. Assert.expectEq( "*** Access public property from public final method in sub class ***", 1, 1 );
  169. Assert.expectEq( "EXTDCLASS.testPubVirDPArray(arr)", arr, (EXTDCLASS.testPubVirDPArray(arr)) );
  170. // ********************************************
  171. // access public property from
  172. // private virtual method in sub class
  173. // ********************************************
  174. EXTDCLASS = new DynExtDefaultClassPub();
  175. Assert.expectEq( "*** Access public property from private final method in sub class ***", 1, 1 );
  176. Assert.expectEq( "EXTDCLASS.testPrivVirDPArray(arr)", arr, (EXTDCLASS.testPrivVirDPArray(arr)) );
  177. // displays results.