Add @trigger doc blocks of methods triggering CakeEvent

This commit is contained in:
Guy Warner 2014-11-30 14:45:40 -07:00
parent ac02350f41
commit fb61d9393b
12 changed files with 73 additions and 0 deletions

View file

@ -669,6 +669,8 @@ class Controller extends Object implements CakeEventListener {
* - 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 @@ class Controller extends Object implements CakeEventListener {
* - 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 @@ class Controller extends Object implements CakeEventListener {
* @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 @@ class Controller extends Object implements CakeEventListener {
* @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) {

View file

@ -221,6 +221,7 @@ class CakeEventManager {
*
* @param string|CakeEvent $event the event key name or instance of CakeEvent
* @return CakeEvent
* @triggers $event
*/
public function dispatch($event) {
if (is_string($event)) {

View file

@ -1699,6 +1699,8 @@ class Model extends Object implements CakeEventListener {
* @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 @@ class Model extends Object implements CakeEventListener {
* @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 @@ class Model extends Object implements CakeEventListener {
* @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 @@ class Model extends Object implements CakeEventListener {
* @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));

View file

@ -235,6 +235,7 @@ class ModelValidator implements ArrayAccess, IteratorAggregate, Countable {
*
* @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 @@ class ModelValidator implements ArrayAccess, IteratorAggregate, Countable {
*
* @param array $options Options to pass to callback.
* @return bool
* @triggers Model.beforeValidate $model, array($options)
*/
protected function _triggerBeforeValidate($options = array()) {
$model = $this->getModel();

View file

@ -138,6 +138,8 @@ class Dispatcher implements CakeEventListener {
* @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()) {

View file

@ -193,6 +193,7 @@ class CakeEventManagerTest extends CakeTestCase {
* Tests event dispatching
*
* @return void
* @triggers fake.event
*/
public function testDispatch() {
$manager = new CakeEventManager();
@ -227,6 +228,7 @@ class CakeEventManagerTest extends CakeTestCase {
* Tests event dispatching with a return value
*
* @return void
* @triggers fake.event
*/
public function testDispatchReturnValue() {
$this->skipIf(
@ -254,6 +256,7 @@ class CakeEventManagerTest extends CakeTestCase {
* Tests that returning false in a callback stops the event
*
* @return void
* @triggers fake.event
*/
public function testDispatchFalseStopsEvent() {
$this->skipIf(
@ -281,6 +284,7 @@ class CakeEventManagerTest extends CakeTestCase {
* Tests event dispatching using priorities
*
* @return void
* @triggers fake.event
*/
public function testDispatchPrioritized() {
$manager = new CakeEventManager();
@ -298,6 +302,7 @@ class CakeEventManagerTest extends CakeTestCase {
* 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 @@ class CakeEventManagerTest extends CakeTestCase {
* 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 @@ class CakeEventManagerTest extends CakeTestCase {
* 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 @@ class CakeEventManagerTest extends CakeTestCase {
* 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 @@ class CakeEventManagerTest extends CakeTestCase {
* Tests event dispatching using priorities
*
* @return void
* @triggers fake.event
*/
public function testDispatchPrioritizedWithGlobal() {
$generalManager = $this->getMock('CakeEventManager');
@ -454,6 +465,7 @@ class CakeEventManagerTest extends CakeTestCase {
* Tests event dispatching using priorities
*
* @return void
* @triggers fake.event
*/
public function testDispatchGlobalBeforeLocal() {
$generalManager = $this->getMock('CakeEventManager');
@ -490,6 +502,7 @@ class CakeEventManagerTest extends CakeTestCase {
/**
* 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 @@ class CakeEventManagerTest extends CakeTestCase {
* listeners at the same priority.
*
* @return void
* @triggers fake.event $this)
*/
public function testDispatchWithGlobalAndLocalEvents() {
$listener = new CustomTestEventListener();

View file

@ -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 @@ class CakeEventTest extends CakeTestCase {
* 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 @@ class CakeEventTest extends CakeTestCase {
* Tests the event propagation stopping property
*
* @return void
* @triggers fake.event
*/
public function testPropagation() {
$event = new CakeEvent('fake.event');
@ -65,6 +69,7 @@ class CakeEventTest extends CakeTestCase {
* 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 @@ class CakeEventTest extends CakeTestCase {
* 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);

View file

@ -589,6 +589,7 @@ class DispatcherTest extends CakeTestCase {
* testParseParamsWithoutZerosAndEmptyPost method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $request)
*/
public function testParseParamsWithoutZerosAndEmptyPost() {
$Dispatcher = new Dispatcher();
@ -607,6 +608,7 @@ class DispatcherTest extends CakeTestCase {
* testParseParamsReturnsPostedData method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $request)
*/
public function testParseParamsReturnsPostedData() {
$_POST['testdata'] = "My Posted Content";
@ -622,6 +624,7 @@ class DispatcherTest extends CakeTestCase {
* testParseParamsWithSingleZero method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $test)
*/
public function testParseParamsWithSingleZero() {
$Dispatcher = new Dispatcher();
@ -640,6 +643,7 @@ class DispatcherTest extends CakeTestCase {
* testParseParamsWithManySingleZeros method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $test)
*/
public function testParseParamsWithManySingleZeros() {
$Dispatcher = new Dispatcher();
@ -659,6 +663,7 @@ class DispatcherTest extends CakeTestCase {
* testParseParamsWithManyZerosInEachSectionOfUrl method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $test)
*/
public function testParseParamsWithManyZerosInEachSectionOfUrl() {
$Dispatcher = new Dispatcher();
@ -678,6 +683,7 @@ class DispatcherTest extends CakeTestCase {
* testParseParamsWithMixedOneToManyZerosInEachSectionOfUrl method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $test)
*/
public function testParseParamsWithMixedOneToManyZerosInEachSectionOfUrl() {
$Dispatcher = new Dispatcher();
@ -697,6 +703,8 @@ class DispatcherTest extends CakeTestCase {
* 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 @@ class DispatcherTest extends CakeTestCase {
* testPluginDispatch method
*
* @return void
* @triggers DispatcherTest $Dispatcher, array('request' => $url)
*/
public function testPluginDispatch() {
$_POST = array();
@ -1640,6 +1649,11 @@ class DispatcherTest extends CakeTestCase {
* 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();

View file

@ -39,6 +39,12 @@ class AssetDispatcherTest extends CakeTestCase {
* 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 @@ class AssetDispatcherTest extends CakeTestCase {
* by Routing.
*
* @return void
* @triggers DispatcherTest $this, compact('request', 'response')
*/
public function testNoHandleRoutedExtension() {
$filter = new AssetDispatcher();
@ -115,6 +122,8 @@ class AssetDispatcherTest extends CakeTestCase {
* 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 @@ class AssetDispatcherTest extends CakeTestCase {
* 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 @@ class AssetDispatcherTest extends CakeTestCase {
* 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 @@ class AssetDispatcherTest extends CakeTestCase {
* 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(

View file

@ -535,6 +535,7 @@ class ObjectCollectionTest extends CakeTestCase {
* 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 @@ class ObjectCollectionTest extends CakeTestCase {
* will NOT prepend the subject to the list of arguments
*
* @return void
* @triggers callback $subjectClass, array('first argument')
*/
public function testDispatchEventNoSubject() {
$this->_makeMockClasses();

View file

@ -213,6 +213,7 @@ abstract class ControllerTestCase extends CakeTestCase {
* @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;

View file

@ -458,6 +458,8 @@ class View extends Object {
* @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 @@ class View extends Object {
* @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 @@ class View extends Object {
* @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 @@ class View extends Object {
* @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']) {