Fix double inflection in bake all <foo>

ViewTask re-pluralizes the model name.  Sometimes this leads to
things like Menuses which is totally wrong.

Fixes #2318
This commit is contained in:
mark_story 2011-12-01 20:41:17 -05:00
parent 8b3c72f7c1
commit 0f71254fe1
2 changed files with 25 additions and 8 deletions

View file

@ -185,7 +185,7 @@ class BakeShell extends AppShell {
} }
App::uses($controller . 'Controller', 'Controller'); App::uses($controller . 'Controller', 'Controller');
if (class_exists($controller . 'Controller')) { if (class_exists($controller . 'Controller')) {
$this->View->args = array($controller); $this->View->args = array($name);
$this->View->execute(); $this->View->execute();
} }
$this->out('', 1, Shell::QUIET); $this->out('', 1, Shell::QUIET);

View file

@ -83,21 +83,38 @@ class BakeShellTest extends CakeTestCase {
$this->Shell->View = $this->getMock('ModelTask', array(), array(&$this->Dispatcher)); $this->Shell->View = $this->getMock('ModelTask', array(), array(&$this->Dispatcher));
$this->Shell->DbConfig = $this->getMock('DbConfigTask', array(), array(&$this->Dispatcher)); $this->Shell->DbConfig = $this->getMock('DbConfigTask', array(), array(&$this->Dispatcher));
$this->Shell->DbConfig->expects($this->once())->method('getConfig')->will($this->returnValue('test')); $this->Shell->DbConfig->expects($this->once())
->method('getConfig')
->will($this->returnValue('test'));
$this->Shell->Model->expects($this->never())->method('getName'); $this->Shell->Model->expects($this->never())
$this->Shell->Model->expects($this->once())->method('bake')->will($this->returnValue(true)); ->method('getName');
$this->Shell->Model->expects($this->once())
->method('bake')
->will($this->returnValue(true));
$this->Shell->Controller->expects($this->once())->method('bake')->will($this->returnValue(true)); $this->Shell->Controller->expects($this->once())
$this->Shell->View->expects($this->once())->method('execute'); ->method('bake')
->will($this->returnValue(true));
$this->Shell->View->expects($this->once())
->method('execute');
$this->Shell->expects($this->once())->method('_stop'); $this->Shell->expects($this->once())->method('_stop');
$this->Shell->expects($this->at(0))->method('out')->with('Bake All'); $this->Shell->expects($this->at(0))
$this->Shell->expects($this->at(5))->method('out')->with('<success>Bake All complete</success>'); ->method('out')
->with('Bake All');
$this->Shell->expects($this->at(5))
->method('out')
->with('<success>Bake All complete</success>');
$this->Shell->connection = ''; $this->Shell->connection = '';
$this->Shell->params = array(); $this->Shell->params = array();
$this->Shell->args = array('User'); $this->Shell->args = array('User');
$this->Shell->all(); $this->Shell->all();
$this->assertEquals('User', $this->Shell->View->args[0]);
} }
} }