gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/trunk r10641: Test super() behaviour with


From: Benjamin Wolsey
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r10641: Test super() behaviour with function.apply() (gnash fails)
Date: Sun, 01 Mar 2009 08:57:48 +0100
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 10641
author: Michael Fötsch <address@hidden>
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Sun 2009-03-01 08:57:48 +0100
message:
  Test super() behaviour with function.apply() (gnash fails)
modified:
  testsuite/misc-mtasc.all/Base1.as
  testsuite/misc-mtasc.all/Derived1.as
  testsuite/misc-mtasc.all/super_test1.as
=== modified file 'testsuite/misc-mtasc.all/Base1.as'
--- a/testsuite/misc-mtasc.all/Base1.as 2007-10-10 08:13:55 +0000
+++ b/testsuite/misc-mtasc.all/Base1.as 2009-03-01 07:57:48 +0000
@@ -3,6 +3,8 @@
 {
   var baseCtorCalled;
   var baseThisPtr;
+  var baseDirectCalled;
+  var baseViaApplyCalled;
   
   // constructor
   function Base1()
@@ -10,4 +12,15 @@
     this.baseCtorCalled = true;
     baseThisPtr = this;
   }
+
+  function direct()
+  {
+    this.baseDirectCalled = true;
+  }
+
+  function viaApply()
+  {
+    this.baseViaApplyCalled = true;
+  }
 }
+

=== modified file 'testsuite/misc-mtasc.all/Derived1.as'
--- a/testsuite/misc-mtasc.all/Derived1.as      2007-10-10 08:13:55 +0000
+++ b/testsuite/misc-mtasc.all/Derived1.as      2009-03-01 07:57:48 +0000
@@ -5,6 +5,8 @@
 {
   var derived1CtorCalled;
   var derivedThisPtr;
+  var derived1DirectCalled;
+  var derived1ViaApplyCalled;
   
   // constructor
   function Derived1()
@@ -13,4 +15,16 @@
     this.derived1CtorCalled = true;
     derivedThisPtr = this;
   }
+
+  function direct()
+  {
+    super.direct();
+    this.derived1DirectCalled = true;
+  }
+
+  function viaApply()
+  {
+    super.viaApply();
+    this.derived1ViaApplyCalled = true;
+  }
 }

=== modified file 'testsuite/misc-mtasc.all/super_test1.as'
--- a/testsuite/misc-mtasc.all/super_test1.as   2009-02-25 22:33:03 +0000
+++ b/testsuite/misc-mtasc.all/super_test1.as   2009-03-01 07:57:48 +0000
@@ -29,6 +29,8 @@
 {
   var derived11CtorCalled;
   var thisPtr;
+  var derived11DirectCalled;
+  var derived11ViaApplyCalled;
   
   // constructor
   function Derived11()
@@ -38,6 +40,18 @@
     thisPtr = this;
   }
 
+  function direct()
+  {
+    super.direct();
+    this.derived11DirectCalled = true;
+  }
+
+  function viaApply()
+  {
+    super.viaApply();
+    this.derived11ViaApplyCalled = true;
+  }
+
   static function main()
   {
      // Gnash got an unexpected 'ActionLimit hit' here.
@@ -47,13 +61,27 @@
      check_equals(derivedObj.baseCtorCalled, true);
      check_equals(derivedObj.derived1CtorCalled, true);
      check_equals(derivedObj.derived11CtorCalled, true);
+ 
+     // check that all "super.method()" in the inheritance chain are called.   
 
+     derivedObj.direct();
+     check_equals(derivedObj.baseDirectCalled, true);
+     check_equals(derivedObj.derived1DirectCalled, true);
+     check_equals(derivedObj.derived11DirectCalled, true);
+     
+     // check that all "super.method()" in the inheritance chain are called
+     // when "apply()" is used to call the derived method.
+     var method = derivedObj.viaApply;
+     method.apply(derivedObj);
+     xcheck_equals(derivedObj.baseViaApplyCalled, true);
+     xcheck_equals(derivedObj.derived1ViaApplyCalled, true);
+     check_equals(derivedObj.derived11ViaApplyCalled, true);
      
      // check this pointers. 
      check_equals(derivedObj.thisPtr, derivedObj);
      check_equals(derivedObj.derivedThisPtr, derivedObj);
      check_equals(derivedObj.baseThisPtr, derivedObj);
 
-     check_totals(6);
+     check_totals(12);
      Dejagnu.done();
   }
 }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]