Skip to content

Commit

Permalink
Fix FlashHelper::render() cannot render default messages
Browse files Browse the repository at this point in the history
Fixes #9910
  • Loading branch information
chinpei215 committed Jan 5, 2017
1 parent 7e187a4 commit 94d9bcd
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
15 changes: 15 additions & 0 deletions lib/Cake/Test/Case/View/Helper/FlashHelperTest.php
Expand Up @@ -76,6 +76,12 @@ public function setUp() {
'message' => 'Recorded',
'element' => 'flash_classy',
'params' => array()
),
'default' => array(
'key' => 'default',
'message' => 'Default',
'element' => 'default',
'params' => array()
)
)
));
Expand Down Expand Up @@ -154,4 +160,13 @@ public function testFlashWithPluginElement() {
$expected = 'this is the plugin element';
$this->assertContains($expected, $result);
}

/**
* Test that the default element fallbacks to the Flash/default element.
*/
public function testFlashFallback() {
$result = $this->Flash->render('default');
$expected = '<div class="message">Default</div>';
$this->assertContains($expected, $result);
}
}
4 changes: 4 additions & 0 deletions lib/Cake/View/Helper/FlashHelper.php
Expand Up @@ -86,6 +86,10 @@ public function render($key = 'flash', $options = array()) {
CakeSession::delete("Message.$key");
$flash['key'] = $key;

if ($flash['element'] === 'default') {
$flash['element'] = 'Flash/default';
}

return $this->_View->element($flash['element'], $flash);
}
}

0 comments on commit 94d9bcd

Please sign in to comment.