diff --git a/lib/Cake/Controller/Controller.php b/lib/Cake/Controller/Controller.php index 8925f2deaa7..ab6e9818074 100644 --- a/lib/Cake/Controller/Controller.php +++ b/lib/Cake/Controller/Controller.php @@ -669,6 +669,8 @@ public function getEventManager() { * - triggers Component `startup` methods. * * @return void + * @triggers Controller.initialize $this + * @triggers Controller.startup $this */ public function startupProcess() { $this->getEventManager()->dispatch(new CakeEvent('Controller.initialize', $this)); @@ -683,6 +685,7 @@ public function startupProcess() { * - calls the Controller's `afterFilter` method. * * @return void + * @triggers Controller.shutdown $this */ public function shutdownProcess() { $this->getEventManager()->dispatch(new CakeEvent('Controller.shutdown', $this)); @@ -751,6 +754,7 @@ public function loadModel($modelClass = null, $id = null) { * @param int $status Optional HTTP status code (eg: 404) * @param bool $exit If true, exit() will be called after the redirect * @return void + * @triggers Controller.beforeRedirect $this, array($url, $status, $exit) * @link http://book.cakephp.org/2.0/en/controllers.html#Controller::redirect */ public function redirect($url, $status = null, $exit = true) { @@ -920,6 +924,7 @@ public function validateErrors() { * @param string $view View to use for rendering * @param string $layout Layout to use * @return CakeResponse A response object containing the rendered view. + * @triggers Controller.beforeRender $this * @link http://book.cakephp.org/2.0/en/controllers.html#Controller::render */ public function render($view = null, $layout = null) { diff --git a/lib/Cake/Event/CakeEventManager.php b/lib/Cake/Event/CakeEventManager.php index a552e4d4361..64d94ccd8bc 100644 --- a/lib/Cake/Event/CakeEventManager.php +++ b/lib/Cake/Event/CakeEventManager.php @@ -221,6 +221,7 @@ protected function _detachSubscriber(CakeEventListener $subscriber, $eventKey = * * @param string|CakeEvent $event the event key name or instance of CakeEvent * @return CakeEvent + * @triggers $event */ public function dispatch($event) { if (is_string($event)) { diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index 0848c076261..8ba7b8bffbd 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -1699,6 +1699,8 @@ public function saveField($name, $value, $validate = false) { * @param array $fieldList List of fields to allow to be saved * @return mixed On success Model::$data if its not empty or true, false on failure * @throws PDOException + * @triggers Model.beforeSave $this, array($options) + * @triggers Model.afterSave $this, array($created, $options) * @link http://book.cakephp.org/2.0/en/models/saving-your-data.html */ public function save($data = null, $validate = true, $fieldList = array()) { @@ -2591,6 +2593,8 @@ public function updateAll($fields, $conditions = true) { * @param int|string $id ID of record to delete * @param bool $cascade Set to true to delete records that depend on this record * @return bool True on success + * @triggers Model.beforeDelete $this, array($cascade) + * @triggers Model.afterDelete $this) * @link http://book.cakephp.org/2.0/en/models/deleting-data.html */ public function delete($id = null, $cascade = true) { @@ -2964,6 +2968,7 @@ protected function _readDataSource($type, $query) { * @param string $type Type of find operation (all / first / count / neighbors / list / threaded) * @param array $query Option fields (conditions / fields / joins / limit / offset / order / page / group / callbacks) * @return array|null Query array or null if it could not be build for some reasons + * @triggers Model.beforeFind $this, array($query) * @see Model::find() */ public function buildQuery($type = 'first', $query = array()) { @@ -3252,6 +3257,7 @@ protected function _findThreaded($state, $query, $results = array()) { * @param array $results Results to filter * @param bool $primary If this is the primary model results (results from model where the find operation was performed) * @return array Set of filtered results + * @triggers Model.afterFind $this, array($results, $primary) */ protected function _filterResults($results, $primary = true) { $event = new CakeEvent('Model.afterFind', $this, array($results, $primary)); diff --git a/lib/Cake/Model/ModelValidator.php b/lib/Cake/Model/ModelValidator.php index 47371da071e..1d034ac7ff5 100644 --- a/lib/Cake/Model/ModelValidator.php +++ b/lib/Cake/Model/ModelValidator.php @@ -235,6 +235,7 @@ public function validateMany(&$data, $options = array()) { * * @param string $options An optional array of custom options to be made available in the beforeValidate callback * @return array Array of invalid fields + * @triggers Model.afterValidate $model * @see ModelValidator::validates() */ public function errors($options = array()) { @@ -444,6 +445,7 @@ protected function _validateWithModels($options) { * * @param array $options Options to pass to callback. * @return bool + * @triggers Model.beforeValidate $model, array($options) */ protected function _triggerBeforeValidate($options = array()) { $model = $this->getModel(); diff --git a/lib/Cake/Routing/Dispatcher.php b/lib/Cake/Routing/Dispatcher.php index d7c66c77593..13e2a2248a9 100644 --- a/lib/Cake/Routing/Dispatcher.php +++ b/lib/Cake/Routing/Dispatcher.php @@ -138,6 +138,8 @@ protected function _attachFilters($manager) { * @param CakeResponse $response Response object to put the results of the dispatch into. * @param array $additionalParams Settings array ("bare", "return") which is melded with the GET and POST params * @return string|void if `$request['return']` is set then it returns response body, null otherwise + * @triggers Dispatcher.beforeDispatch $this, compact('request', 'response', 'additionalParams') + * @triggers Dispatcher.afterDispatch $this, compact('request', 'response') * @throws MissingControllerException When the controller is missing. */ public function dispatch(CakeRequest $request, CakeResponse $response, $additionalParams = array()) { diff --git a/lib/Cake/Test/Case/Event/CakeEventManagerTest.php b/lib/Cake/Test/Case/Event/CakeEventManagerTest.php index e6ff8fa7ab7..9b4cd77ec66 100644 --- a/lib/Cake/Test/Case/Event/CakeEventManagerTest.php +++ b/lib/Cake/Test/Case/Event/CakeEventManagerTest.php @@ -193,6 +193,7 @@ public function testDetachFromAll() { * Tests event dispatching * * @return void + * @triggers fake.event */ public function testDispatch() { $manager = new CakeEventManager(); @@ -227,6 +228,7 @@ public function testDispatchWithKeyName() { * Tests event dispatching with a return value * * @return void + * @triggers fake.event */ public function testDispatchReturnValue() { $this->skipIf( @@ -254,6 +256,7 @@ public function testDispatchReturnValue() { * Tests that returning false in a callback stops the event * * @return void + * @triggers fake.event */ public function testDispatchFalseStopsEvent() { $this->skipIf( @@ -281,6 +284,7 @@ public function testDispatchFalseStopsEvent() { * Tests event dispatching using priorities * * @return void + * @triggers fake.event */ public function testDispatchPrioritized() { $manager = new CakeEventManager(); @@ -298,6 +302,7 @@ public function testDispatchPrioritized() { * Tests event dispatching with passed params * * @return void + * @triggers fake.event $this, array('some' => 'data') */ public function testDispatchPassingParams() { $manager = new CakeEventManager(); @@ -316,6 +321,9 @@ public function testDispatchPassingParams() { * Tests subscribing a listener object and firing the events it subscribed to * * @return void + * @triggers fake.event + * @triggers another.event $this, array('some' => 'data') + * @triggers multiple.handlers */ public function testAttachSubscriber() { $manager = new CakeEventManager(); @@ -380,6 +388,7 @@ public function testGlobalDispatcherGetter() { * Tests that the global event manager gets the event too from any other manager * * @return void + * @triggers fake.event */ public function testDispatchWithGlobal() { $generalManager = $this->getMock('CakeEventManager', array('prioritisedListeners')); @@ -396,6 +405,7 @@ public function testDispatchWithGlobal() { * Tests that stopping an event will not notify the rest of the listeners * * @return void + * @triggers fake.event */ public function testStopPropagation() { $generalManager = $this->getMock('CakeEventManager'); @@ -423,6 +433,7 @@ public function testStopPropagation() { * Tests event dispatching using priorities * * @return void + * @triggers fake.event */ public function testDispatchPrioritizedWithGlobal() { $generalManager = $this->getMock('CakeEventManager'); @@ -454,6 +465,7 @@ public function testDispatchPrioritizedWithGlobal() { * Tests event dispatching using priorities * * @return void + * @triggers fake.event */ public function testDispatchGlobalBeforeLocal() { $generalManager = $this->getMock('CakeEventManager'); @@ -490,6 +502,7 @@ public function onMyEvent($event) { /** * Tests events dispatched by a local manager can be handled by * handler registered in the global event manager + * @triggers my_event $manager */ public function testDispatchLocalHandledByGlobal() { $callback = array($this, 'onMyEvent'); @@ -505,6 +518,7 @@ public function testDispatchLocalHandledByGlobal() { * listeners at the same priority. * * @return void + * @triggers fake.event $this) */ public function testDispatchWithGlobalAndLocalEvents() { $listener = new CustomTestEventListener(); diff --git a/lib/Cake/Test/Case/Event/CakeEventTest.php b/lib/Cake/Test/Case/Event/CakeEventTest.php index c4155db9a70..9ba28d3a909 100644 --- a/lib/Cake/Test/Case/Event/CakeEventTest.php +++ b/lib/Cake/Test/Case/Event/CakeEventTest.php @@ -30,6 +30,7 @@ class CakeEventTest extends CakeTestCase { * Tests the name() method * * @return void + * @triggers fake.event */ public function testName() { $event = new CakeEvent('fake.event'); @@ -40,6 +41,8 @@ public function testName() { * Tests the subject() method * * @return void + * @triggers fake.event $this + * @triggers fake.event */ public function testSubject() { $event = new CakeEvent('fake.event', $this); @@ -53,6 +56,7 @@ public function testSubject() { * Tests the event propagation stopping property * * @return void + * @triggers fake.event */ public function testPropagation() { $event = new CakeEvent('fake.event'); @@ -65,6 +69,7 @@ public function testPropagation() { * Tests that it is possible to get/set custom data in a event * * @return void + * @triggers fake.event $this, array('some' => 'data') */ public function testEventData() { $event = new CakeEvent('fake.event', $this, array('some' => 'data')); @@ -75,6 +80,7 @@ public function testEventData() { * Tests that it is possible to get the name and subject directly * * @return void + * @triggers fake.event $this */ public function testEventDirectPropertyAccess() { $event = new CakeEvent('fake.event', $this); diff --git a/lib/Cake/Test/Case/Routing/DispatcherTest.php b/lib/Cake/Test/Case/Routing/DispatcherTest.php index ef0eefe5eb4..324d56a25b9 100644 --- a/lib/Cake/Test/Case/Routing/DispatcherTest.php +++ b/lib/Cake/Test/Case/Routing/DispatcherTest.php @@ -589,6 +589,7 @@ public function tearDown() { * testParseParamsWithoutZerosAndEmptyPost method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $request) */ public function testParseParamsWithoutZerosAndEmptyPost() { $Dispatcher = new Dispatcher(); @@ -607,6 +608,7 @@ public function testParseParamsWithoutZerosAndEmptyPost() { * testParseParamsReturnsPostedData method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $request) */ public function testParseParamsReturnsPostedData() { $_POST['testdata'] = "My Posted Content"; @@ -622,6 +624,7 @@ public function testParseParamsReturnsPostedData() { * testParseParamsWithSingleZero method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $test) */ public function testParseParamsWithSingleZero() { $Dispatcher = new Dispatcher(); @@ -640,6 +643,7 @@ public function testParseParamsWithSingleZero() { * testParseParamsWithManySingleZeros method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $test) */ public function testParseParamsWithManySingleZeros() { $Dispatcher = new Dispatcher(); @@ -659,6 +663,7 @@ public function testParseParamsWithManySingleZeros() { * testParseParamsWithManyZerosInEachSectionOfUrl method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $test) */ public function testParseParamsWithManyZerosInEachSectionOfUrl() { $Dispatcher = new Dispatcher(); @@ -678,6 +683,7 @@ public function testParseParamsWithManyZerosInEachSectionOfUrl() { * testParseParamsWithMixedOneToManyZerosInEachSectionOfUrl method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $test) */ public function testParseParamsWithMixedOneToManyZerosInEachSectionOfUrl() { $Dispatcher = new Dispatcher(); @@ -697,6 +703,8 @@ public function testParseParamsWithMixedOneToManyZerosInEachSectionOfUrl() { * testQueryStringOnRoot method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $request) + * @triggers DispatcherTest $Dispatcher, array('request' => $request) */ public function testQueryStringOnRoot() { Router::reload(); @@ -928,6 +936,7 @@ public function testAdminDispatch() { * testPluginDispatch method * * @return void + * @triggers DispatcherTest $Dispatcher, array('request' => $url) */ public function testPluginDispatch() { $_POST = array(); @@ -1640,6 +1649,11 @@ public function testFullPageCachingDispatch($url) { * testHttpMethodOverrides method * * @return void + * @triggers DispatcherTest $dispatcher, array('request' => $request) + * @triggers DispatcherTest $dispatcher, array('request' => $request) + * @triggers DispatcherTest $dispatcher, array('request' => $request) + * @triggers DispatcherTest $dispatcher, array('request' => $request) + * @triggers DispatcherTest $dispatcher, array('request' => $request) */ public function testHttpMethodOverrides() { Router::reload(); diff --git a/lib/Cake/Test/Case/Routing/Filter/AssetDispatcherTest.php b/lib/Cake/Test/Case/Routing/Filter/AssetDispatcherTest.php index dc43fda4666..63870053567 100644 --- a/lib/Cake/Test/Case/Routing/Filter/AssetDispatcherTest.php +++ b/lib/Cake/Test/Case/Routing/Filter/AssetDispatcherTest.php @@ -39,6 +39,12 @@ public function tearDown() { * test that asset filters work for theme and plugin assets * * @return void + * @triggers DispatcherTest $this, compact('request', 'response') + * @triggers DispatcherTest $this, compact('request', 'response') + * @triggers DispatcherTest $this, compact('request', 'response') + * @triggers DispatcherTest $this, compact('request', 'response') + * @triggers DispatcherTest $this, compact('request', 'response') + * @triggers DispatcherTest $this, compact('request', 'response') */ public function testAssetFilterForThemeAndPlugins() { $filter = new AssetDispatcher(); @@ -88,6 +94,7 @@ public function testAssetFilterForThemeAndPlugins() { * by Routing. * * @return void + * @triggers DispatcherTest $this, compact('request', 'response') */ public function testNoHandleRoutedExtension() { $filter = new AssetDispatcher(); @@ -115,6 +122,8 @@ public function testNoHandleRoutedExtension() { * file dispatching * * @return void + * @triggers DispatcherTest $this, compact('request', 'response') + * @triggers DispatcherTest $this, compact('request', 'response') */ public function testNotModified() { $filter = new AssetDispatcher(); @@ -160,6 +169,7 @@ public function testNotModified() { * Test that no exceptions are thrown for //index.php type URLs. * * @return void + * @triggers Dispatcher.beforeRequest $this, compact('request', 'response') */ public function test404OnDoubleSlash() { $filter = new AssetDispatcher(); @@ -176,6 +186,7 @@ public function test404OnDoubleSlash() { * Test that attempts to traverse directories are prevented. * * @return void + * @triggers Dispatcher.beforeRequest $this, compact('request', 'response') */ public function test404OnDoubleDot() { App::build(array( @@ -198,6 +209,7 @@ public function test404OnDoubleDot() { * Test that attempts to traverse directories with urlencoded paths fail. * * @return void + * @triggers Dispatcher.beforeRequest $this, compact('request', 'response') */ public function test404OnDoubleDotEncoded() { App::build(array( diff --git a/lib/Cake/Test/Case/Utility/ObjectCollectionTest.php b/lib/Cake/Test/Case/Utility/ObjectCollectionTest.php index 5d4d0f30b55..c92c4923b1b 100644 --- a/lib/Cake/Test/Case/Utility/ObjectCollectionTest.php +++ b/lib/Cake/Test/Case/Utility/ObjectCollectionTest.php @@ -535,6 +535,7 @@ public function testnormalizeObjectArray() { * tests that passing an instance of CakeEvent to trigger will prepend the subject to the list of arguments * * @return void + * @triggers callback $subjectClass, array('first argument') */ public function testDispatchEventWithSubject() { $this->_makeMockClasses(); @@ -560,6 +561,7 @@ public function testDispatchEventWithSubject() { * will NOT prepend the subject to the list of arguments * * @return void + * @triggers callback $subjectClass, array('first argument') */ public function testDispatchEventNoSubject() { $this->_makeMockClasses(); diff --git a/lib/Cake/TestSuite/ControllerTestCase.php b/lib/Cake/TestSuite/ControllerTestCase.php index 2216d2247f7..b05192d953b 100644 --- a/lib/Cake/TestSuite/ControllerTestCase.php +++ b/lib/Cake/TestSuite/ControllerTestCase.php @@ -213,6 +213,7 @@ public function __call($name, $arguments) { * @param string $url The url to test * @param array $options See options * @return mixed + * @triggers ControllerTestCase $Dispatch, array('request' => $request */ protected function _testAction($url = '', $options = array()) { $this->vars = $this->result = $this->view = $this->contents = $this->headers = null; diff --git a/lib/Cake/View/View.php b/lib/Cake/View/View.php index da89614cab1..0880e32c83a 100644 --- a/lib/Cake/View/View.php +++ b/lib/Cake/View/View.php @@ -458,6 +458,8 @@ public function elementExists($name) { * @param string $view Name of view file to use * @param string $layout Layout to use. * @return string|null Rendered content or null if content already rendered and returned earlier. + * @triggers View.beforeRender $this, array($viewFileName) + * @triggers View.afterRender $this, array($viewFileName) * @throws CakeException If there is an error in the view. */ public function render($view = null, $layout = null) { @@ -504,6 +506,8 @@ public function render($view = null, $layout = null) { * @param string $content Content to render in a view, wrapped by the surrounding layout. * @param string $layout Layout name * @return mixed Rendered output, or false on error + * @triggers View.beforeLayout $this, array($layoutFileName) + * @triggers View.afterLayout $this, array($layoutFileName) * @throws CakeException if there is an error in the view. */ public function renderLayout($content, $layout = null) { @@ -894,6 +898,8 @@ public function loadHelpers() { * @param string $viewFile Filename of the view * @param array $data Data to include in rendered view. If empty the current View::$viewVars will be used. * @return string Rendered output + * @triggers View.beforeRenderFile $this, array($viewFile) + * @triggers View.afterRenderFile $this, array($viewFile, $content) * @throws CakeException when a block is left open. */ protected function _render($viewFile, $data = array()) { @@ -1200,6 +1206,8 @@ protected function _elementCache($name, $data, $options) { * @param array $data Data to render * @param array $options Element options * @return string + * @triggers View.beforeRender $this, array($file) + * @triggers View.afterRender $this, array($file, $element) */ protected function _renderElement($file, $data, $options) { if ($options['callbacks']) {