diff --git a/cake/libs/object_collection.php b/cake/libs/object_collection.php index cca7ec58f02..26947641b62 100644 --- a/cake/libs/object_collection.php +++ b/cake/libs/object_collection.php @@ -79,7 +79,7 @@ public function trigger($callback, $params = array(), $options = array()) { if ($options['triggerDisabled'] === true) { $list = array_keys($this->_loaded); } - foreach ($this->_enabled as $name) { + foreach ($list as $name) { $result = call_user_func_array(array(&$this->_loaded[$name], $callback), $params); if ($options['collectReturn'] === true) { $collected[] = $result; diff --git a/cake/tests/cases/libs/controller/component_collection.test.php b/cake/tests/cases/libs/controller/component_collection.test.php index ccaacbc993c..6d4eabb226d 100644 --- a/cake/tests/cases/libs/controller/component_collection.test.php +++ b/cake/tests/cases/libs/controller/component_collection.test.php @@ -18,6 +18,7 @@ * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ +App::import('Component', array('Cookie', 'Security')); App::import('Core', 'ComponentCollection'); class ComponentCollectionTest extends CakeTestCase { @@ -145,6 +146,9 @@ function testTrigger() { ->with(null); $this->Components->TriggerMockSecurity->expects($this->once())->method('startup') ->with(null); + + $this->mockObjects[] = $this->Components->TriggerMockCookie; + $this->mockObjects[] = $this->Components->TriggerMockSecurity; $this->assertTrue($this->Components->trigger('startup', array(&$controller))); } @@ -154,17 +158,20 @@ function testTrigger() { * * @return void */ - function testTriggerOnDisabledObjects() { + function testTriggerWithTriggerDisabledObjects() { $controller = 'Not a controller'; $this->_makeMockClasses(); $this->Components->load('TriggerMockCookie', array(), false); $this->Components->load('TriggerMockSecurity'); - $this->Components->TriggerMockCookie->expects($this->once())->method('initalize') + $this->Components->TriggerMockCookie->expects($this->once())->method('initialize') ->with($controller); - $this->Components->TriggerMockSecurity->expects($this->once())->method('initalize') + $this->Components->TriggerMockSecurity->expects($this->once())->method('initialize') ->with($controller); + + $this->mockObjects[] = $this->Components->TriggerMockCookie; + $this->mockObjects[] = $this->Components->TriggerMockSecurity; $result = $this->Components->trigger('initialize', array(&$controller), array('triggerDisabled' => true)); $this->assertTrue($result); @@ -182,9 +189,11 @@ function testTriggerWithDisabledComponents() { $this->Components->load('TriggerMockSecurity'); $this->Components->TriggerMockCookie->expects($this->once())->method('startup') - ->with(null); - $this->Components->TriggerMockSecurity->expects($this->never())->method('startup') - ->with(null); + ->with($controller); + $this->Components->TriggerMockSecurity->expects($this->never())->method('startup'); + + $this->mockObjects[] = $this->Components->TriggerMockCookie; + $this->mockObjects[] = $this->Components->TriggerMockSecurity; $this->Components->disable('TriggerMockSecurity'); @@ -206,6 +215,9 @@ function testTriggerWithCollectReturn() { ->will($this->returnValue(array('one', 'two'))); $this->Components->TriggerMockSecurity->expects($this->once())->method('startup') ->will($this->returnValue(array('three', 'four'))); + + $this->mockObjects[] = $this->Components->TriggerMockCookie; + $this->mockObjects[] = $this->Components->TriggerMockSecurity; $result = $this->Components->trigger('startup', array(&$controller), array('collectReturn' => true)); $expected = array( @@ -229,6 +241,9 @@ function testTriggerWithBreak() { $this->Components->TriggerMockCookie->expects($this->once())->method('startup') ->will($this->returnValue(false)); $this->Components->TriggerMockSecurity->expects($this->never())->method('startup'); + + $this->mockObjects[] = $this->Components->TriggerMockCookie; + $this->mockObjects[] = $this->Components->TriggerMockSecurity; $result = $this->Components->trigger( 'startup',