チェンジセット 349: as2/Commands

差分発生行の前後
無視リスト:
コミット日時:
2008/04/27 20:47:20 (4 年前)
コミッタ:
Mk-10
ログメッセージ:

--

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as2/Commands/src/jp/cellfusion/commands/Command.as

    r347 r349  
    2323        private var _args:Array; 
    2424        private var _eventDispatcher:EventDispatcher; 
    25          
    26         private var _result:Object; 
    27         public function get result():Object { return _result; } 
    2825         
    2926        /** 
     
    6057                        func = typeof(_funcRef) == "string" ? _thisObj[_funcRef] : _funcRef; 
    6158                } 
    62                  
    63                 if (arguments.length > 0) _result = func.apply(_thisObj, arguments); 
    64                 else _result = func.apply(_thisObj, _args); 
     59                func.apply(_thisObj, _args); 
    6560                 
    6661                dispatchEvent(new CommandEvent(CommandEvent.COMMAND_PROGRESS, this)); 
  • as2/Commands/src/jp/cellfusion/commands/EnterFrameCommand.as

    r348 r349  
    5555         * 実行 
    5656         */ 
    57         public function execute():Boolean  
     57        public function execute():Void 
    5858        { 
    5959                reset(); 
    6060                MovieClip.addListener(this); 
    61                 return true; 
    6261        } 
    6362 
     
    6564         * 中止 
    6665         */ 
    67         public function abort():Boolean  
     66        public function abort():Void 
    6867        { 
    6968                MovieClip.removeListener(this); 
    70                 return true; 
    7169        } 
    7270 
     
    7472         * 再会 
    7573         */ 
    76         public function resume():Boolean  
     74        public function resume():Void 
    7775        { 
    7876                MovieClip.addListener(this); 
    79                 return true; 
    8077        } 
    8178 
     
    8380         * リセット 
    8481         */ 
    85         public function reset()  
     82        public function reset():Void 
    8683        { 
    8784                _currentCount = 0; 
    8885                _currentDelay = 0; 
    89                 MovieClip.removeListener(this); 
    9086        } 
    9187 
     
    10399        } 
    104100 
    105         private function onEnterFrame()  
     101        private function onEnterFrame():Void 
    106102        { 
    107103                _currentDelay++; 
     
    109105                        _currentDelay = 0; 
    110106                         
    111                         super.execute(); 
     107                        var func:Function 
     108                        if (_thisObj == null) { 
     109                                func = typeof(_funcRef) == "string" ? _global[_funcRef] : _funcRef; 
     110                        } else { 
     111                                func = typeof(_funcRef) == "string" ? _thisObj[_funcRef] : _funcRef; 
     112                        } 
     113                        func.apply(_thisObj, arguments); 
    112114                         
    113115                        _currentCount++; 
     
    115117                        // 繰り返し回数が 0 の場合は終了しない 
    116118                        if (_currentCount == _repeatCount && _repeatCount != 0) { 
    117                                 _commandComplete(); 
     119                                commandComplete(); 
    118120                        } 
    119121                } 
    120122        } 
    121123 
    122         private function _commandComplete()  
     124        private function commandComplete():Void 
    123125        { 
    124                 reset(); 
     126                MovieClip.removeListener(this); 
    125127                 
    126128                dispatchEvent(new CommandEvent(CommandEvent.COMMAND_COMPLETE, this)); 
  • as2/Commands/tests/jp/cellfusion/commands/ASyncCommandTest.as

    r323 r349  
    33 * @author cellfusion 
    44 */ 
    5 class jp.cellfusion.commands.SendAndLoadCommandTest extends TestCase  
     5class jp.cellfusion.commands.ASyncCommandTest extends TestCase  
    66{ 
    77} 
  • as2/Commands/tests/jp/cellfusion/commands/AllTests.as

    r323 r349  
    44import jp.cellfusion.commands.CommandTest; 
    55import jp.cellfusion.commands.EnterFrameCommandTest; 
    6 import jp.cellfusion.commands.LoaderCommandTest; 
    7 import jp.cellfusion.commands.MacroCommandTest; 
    8 import jp.cellfusion.commands.SendAndLoadCommandTest; 
    9 import jp.cellfusion.commands.SequenceCommandTest; 
    106import jp.cellfusion.commands.TimerCommandTest; 
    11 import jp.cellfusion.commands.TweenCommandTest; 
    12 import jp.cellfusion.commands.events.CommandEventTest; 
    137/** 
    148 * @author cellfusion 
     
    2014                var suite:TestSuite = new TestSuite(null, "Commands Tests"); 
    2115                suite.addTestSuite(CommandTest); 
    22 //              suite.addTestSuite(EnterFrameCommandTest); 
     16                suite.addTestSuite(EnterFrameCommandTest); 
     17                suite.addTestSuite(TimerCommandTest); 
    2318//              suite.addTestSuite(LoaderCommandTest); 
    2419//              suite.addTestSuite(MacroCommandTest); 
    25 //              suite.addTestSuite(SendAndLoadCommandTest); 
    26 //              suite.addTestSuite(SequenceCommandTest); 
    27 //              suite.addTestSuite(TimerCommandTest); 
     20//              suite.addTestSuite(ASyncCommandTest); 
     21//              suite.addTestSuite(SerialCommandTest); 
    2822//              suite.addTestSuite(TweenCommandTest); 
    2923//              suite.addTestSuite(CommandEventTest); 
  • as2/Commands/tests/jp/cellfusion/commands/CommandTest.as

    r323 r349  
    1212                var cmd:Command = new Command(this, hoge, ["hoge", 33]); 
    1313                cmd.execute(); 
    14                  
     14        } 
     15         
     16        public function testStringComman():Void 
     17        { 
    1518                // 関数名を渡す 
    1619                var strCmd:Command = new Command(this, "fuga", ["hoge", 33]); 
  • as2/Commands/tests/jp/cellfusion/commands/EnterFrameCommandTest.as

    r323 r349  
    1 import org.libspark.asunit.framework.TestCase; 
     1import jp.cellfusion.commands.events.CommandEvent; 
     2 
     3import mx.utils.Delegate; 
     4 
     5import org.libspark.asunit.framework.TestCase; 
    26import jp.cellfusion.commands.EnterFrameCommand; 
    37/** 
     
    711{ 
    812        private var _count:Number; 
    9          
     13        private var _completeDelegate:Function; 
     14 
    1015        public function testCommand():Void 
    1116        { 
     17                _completeDelegate = Delegate.create(this, completeHandler); 
     18                 
     19                _count = 0; 
     20                 
     21                var cmd:EnterFrameCommand = new EnterFrameCommand(this, countUp, [], 1, 5); 
     22                 
     23                cmd.addEventListener(CommandEvent.COMMAND_COMPLETE, _completeDelegate); 
     24                 
     25                cmd.execute(); 
    1226        } 
     27         
     28        private function countUp():Void 
     29        { 
     30                _count++; 
     31        } 
     32         
     33        private function completeHandler(e:CommandEvent):Void 
     34        { 
     35                assertEquals(_count, 5); 
     36        } 
     37 
    1338} 
  • as2/Commands/tests/jp/cellfusion/commands/SerialCommandTest.as

    r323 r349  
    33 * @author cellfusion 
    44 */ 
    5 class jp.cellfusion.commands.SequenceCommandTest extends TestCase  
     5class jp.cellfusion.commands.SerialCommandTest extends TestCase  
    66{ 
    77} 
  • as2/Commands/tests/jp/cellfusion/commands/TimerCommandTest.as

    r323 r349  
    1 import org.libspark.asunit.framework.TestCase; 
     1import mx.utils.Delegate; 
     2 
     3import org.libspark.asunit.framework.TestCase; 
    24 
    35import jp.cellfusion.commands.TimerCommand; 
     6import jp.cellfusion.commands.events.CommandEvent; 
    47/** 
    58 * @author cellfusion 
     
    811{ 
    912        private var _count:Number; 
    10          
    11         private function testCommand():Void 
     13        private var _commandCompleteDelegate:Function; 
     14 
     15        private function testTimerCommand():Void 
    1216        { 
     17                _commandCompleteDelegate = Delegate.create(this, commandCompleteHandler); 
    1318                _count = 0; 
    1419                 
    15                 var tmrCmd:TimerCommand = new TimerCommand(this, progress, ["hoge", 5], 500, 5); 
     20                var tmrCmd:TimerCommand = new TimerCommand(this, countUp, ["hoge", 5], 500, 5); 
     21                tmrCmd.addEventListener(CommandEvent.COMMAND_COMPLETE, _commandCompleteDelegate); 
    1622                tmrCmd.execute(); 
    1723        } 
    1824         
    19         private function progress(str:String, num:Number):Void 
     25        private function commandCompleteHandler(e:CommandEvent):Void 
    2026        { 
     27                assertEquals(_count, 5); 
     28        } 
     29 
     30        private function countUp(str:String, num:Number):Void 
     31        { 
     32                _count++; 
    2133                 
     34                assertEquals(str, "hoge", "param test"); 
     35                assertEquals(num, 5, "param test"); 
    2236        } 
    2337}