diff --git a/cake/libs/controller/components/request_handler.php b/cake/libs/controller/components/request_handler.php index 561bcdf1722..ecc4ba1430b 100644 --- a/cake/libs/controller/components/request_handler.php +++ b/cake/libs/controller/components/request_handler.php @@ -165,14 +165,16 @@ function __construct() { * as the first item. * * @param object $controller A reference to the controller + * @param array $settings Array of settings to _set(). * @return void * @see Router::parseExtensions() * @access public */ - function initialize(&$controller) { + function initialize(&$controller, $settings = array()) { if (isset($controller->params['url']['ext'])) { $this->ext = $controller->params['url']['ext']; } + $this->_set($settings); } /** diff --git a/cake/tests/cases/libs/controller/components/request_handler.test.php b/cake/tests/cases/libs/controller/components/request_handler.test.php index 58542dc5bc2..1b18a6eba52 100644 --- a/cake/tests/cases/libs/controller/components/request_handler.test.php +++ b/cake/tests/cases/libs/controller/components/request_handler.test.php @@ -186,6 +186,12 @@ function testInitializeCallback() { $this->Controller->params['url']['ext'] = 'rss'; $this->RequestHandler->initialize($this->Controller); $this->assertEqual($this->RequestHandler->ext, 'rss'); + + $settings = array( + 'ajaxLayout' => 'test_ajax' + ); + $this->RequestHandler->initialize($this->Controller, $settings); + $this->assertEqual($this->RequestHandler->ajaxLayout, 'test_ajax'); } /**