gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog testsuite/misc-swfc.all/moviecl...


From: Zou Lunkai
Subject: [Gnash-commit] gnash ChangeLog testsuite/misc-swfc.all/moviecl...
Date: Wed, 05 Sep 2007 06:13:28 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Zou Lunkai <zoulunkai>  07/09/05 06:13:28

Modified files:
        .              : ChangeLog 
        testsuite/misc-swfc.all: movieclip_destruction_test4.sc 

Log message:
        * testsuite/misc-swfc.all/movieclip_destruction_test4.sc: more tests 
for 
          catching unloaded character bug, got a xcheck.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4227&r2=1.4228
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-swfc.all/movieclip_destruction_test4.sc?cvsroot=gnash&r1=1.1&r2=1.2

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4227
retrieving revision 1.4228
diff -u -b -r1.4227 -r1.4228
--- ChangeLog   5 Sep 2007 02:32:57 -0000       1.4227
+++ ChangeLog   5 Sep 2007 06:13:27 -0000       1.4228
@@ -2,6 +2,8 @@
 
        * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: more tests 
about 
          initactions, gnash fails by not respecting the actions order.
+       * testsuite/misc-swfc.all/movieclip_destruction_test4.sc: more tests 
for 
+         catching unloaded character bug, got a xcheck.
        
 2007-09-05 Markus Gothe <address@hidden>
 

Index: testsuite/misc-swfc.all/movieclip_destruction_test4.sc
===================================================================
RCS file: 
/sources/gnash/gnash/testsuite/misc-swfc.all/movieclip_destruction_test4.sc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- testsuite/misc-swfc.all/movieclip_destruction_test4.sc      4 Sep 2007 
05:43:57 -0000       1.1
+++ testsuite/misc-swfc.all/movieclip_destruction_test4.sc      5 Sep 2007 
06:13:28 -0000       1.2
@@ -22,12 +22,17 @@
  * Test destruction of brother movieClips.
  *
  * Description:
- *   frame2: Define three brother movieclips: mc1, mc2, mc3
- *   frame3: attach them to the main timeline
- *   frame6: brother1 and brother3 get removed by brother2
+ *   frame2: Export three movieclips: mc1-->mc11, mc2, mc3-->mc31
+ *   frame3: attach 6 brother movieclips: brother{1,2,3,4,5,6}
+ *   frame5: brother{1,3,4,5,6} are removed by brother2
  *   
  * Expected behaviour:
- *   TODO: add it here.
+ *   (1)clipA.removeMovieClip() won't shift its parent or child.
+ *   (2)unload a parent automatically unload its children.
+ *   (3)whether a child should be unreachable(destroyed) after unload
+ *      is not dependent its parent's onUnload.
+ *   (4)whether a parent should be unreachable(destroyed) after unload
+ *      is dependent on its children' onUnload
  * 
  */
 
@@ -47,9 +52,15 @@
 
 .frame 2
  
+  .sprite mc11
+    .put green_square x=400 y=200
+  .end
+  
   .sprite mc1
     .frame 1 
       .put green_square x=300 y=200
+      .put mc11
+    .frame 6
   .end 
    
   .sprite mc2
@@ -59,12 +70,21 @@
       .action:
         _root.brother1['removeMovieClip']();
         _root.brother3['removeMovieClip']();
+        _root.brother4['removeMovieClip']();
+        _root.brother5['removeMovieClip']();
+        _root.brother6['removeMovieClip']();
+      .end
       .end
+  
+  .sprite mc31
+    .put blue_square x=400 y=400
   .end 
   
   .sprite mc3
     .frame 1 
       .put blue_square x=300 y=400
+      .put mc31
+    .frame 6
   .end 
   
   
@@ -73,8 +93,55 @@
     _root.attachMovie("mc1", "brother1", 10);
     _root.attachMovie("mc2", "brother2", 20);
     _root.attachMovie("mc3", "brother3", 30);
+    _root.attachMovie("mc3", "brother4", 40);
+    _root.attachMovie("mc3", "brother5", 50);
+    _root.attachMovie("mc3", "brother6", 60);
+    
+    // Define a parent onUnload
+    brother4.onUnload = function () {
+      _root.check_equals(this.getDepth(), -32809);
+      // child mc31 has no onUnload defined. child mc31 has been destroyed.
+      // Gnash fails by keeping the child alive(referenceable)
+      _root.xcheck_equals(typeof(this.mc31), 'undefined');
+    };
+    
+    // Define child onUnload
+    brother5.mc31.onUnload = function () {
+      // child mc31 has onUnload defined, not shifted.
+      _root.check_equals(this.getDepth(), -16382);
+      _root.check_equals(typeof(this), 'movieclip');
+      _root.check_equals(typeof(this._parent), 'movieclip');
+      _root.check_equals(this._parent.getDepth(), -32819);
+    };
+    
+    //
+    // Define both parent onUnload and child onUnload
+    //
+    brother6.onUnload = function () {
+      _root.check_equals(this.getDepth(), -32829);
+      // child mc31 has onUnload defined, not shifted.
+      _root.check_equals(typeof(this.mc31), 'movieclip');
+      _root.check_equals(this.mc31.getDepth(), -16382);
+    };
+    
+    brother6.mc31.onUnload = function () {
+      // child mc31 not shifted
+      _root.check_equals(this.getDepth(), -16382);
+    };
+  .end
+
+
+.frame 5
+  .action:
+    check_equals(typeof(brother1), 'undefined');
+    check_equals(typeof(brother2), 'movieclip');
+    check_equals(typeof(brother3), 'undefined');
+    check_equals(typeof(brother4), 'movieclip');
+    check_equals(typeof(brother5), 'movieclip');
+    check_equals(typeof(brother6), 'movieclip');
   .end
 
+  
 .frame 10
   .action:  
     check_equals(typeof(brother1), 'undefined');




reply via email to

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