diff --git a/cake/console/libs/tasks/model.php b/cake/console/libs/tasks/model.php index 779d088f843..2d75be9ba62 100644 --- a/cake/console/libs/tasks/model.php +++ b/cake/console/libs/tasks/model.php @@ -99,6 +99,7 @@ function __interactive() { if (count($connections) > 1) { $useDbConfig = $this->in(__('Use Database Config', true) .':', $connections, 'default'); } + $this->useDbConfig = $useDbConfig; $currentModelName = $this->getName($useDbConfig); $db =& ConnectionManager::getDataSource($useDbConfig); @@ -843,7 +844,7 @@ function fixture($model, $useTable = null) { $out .= "\tvar \$table = '$useTable';\n"; } $schema = new CakeSchema(); - $data = $schema->read(array('models' => false)); + $data = $schema->read(array('models' => false, 'connection' => $this->useDbConfig)); if (!isset($data['tables'][$useTable])) { return false; @@ -865,6 +866,7 @@ function fixture($model, $useTable = null) { $col = "\t\t'{$field}' => array('type'=>'" . $value['type'] . "', "; switch ($value['type']) { + case 'float': case 'integer': $insert = 1; break; @@ -898,7 +900,7 @@ function fixture($model, $useTable = null) { $insert .= "feugiat in taciti enim proin nibh, tempor dignissim, rhoncus duis vestibulum nunc mattis convallis.'"; break; } - $records[] = "\t\t'$field' => $insert"; + $records[] = "\t\t'$field' => $insert"; unset($value['type']); $col .= join(', ', $schema->__values($value)); } else { diff --git a/cake/tests/cases/console/libs/tasks/model.test.php b/cake/tests/cases/console/libs/tasks/model.test.php new file mode 100644 index 00000000000..b273b69cc64 --- /dev/null +++ b/cake/tests/cases/console/libs/tasks/model.test.php @@ -0,0 +1,90 @@ +Dispatcher =& new TestModelTaskMockShellDispatcher(); + $this->Task =& new MockModelTask($this->Dispatcher); + $this->Task->Dispatch =& $this->Dispatcher; + } +/** + * tearDown method + * + * @return void + * @access public + */ + function tearDown() { + ClassRegistry::flush(); + } +/** + * test fixture generation with floats + * + * @return void + **/ + function testFixtureGeneration() { + $this->Task->useDbConfig = 'test_suite'; + $this->Task->setReturnValue('createFile', true); + $result = $this->Task->fixture('Datatype'); + $this->assertPattern('/float_field\' => 1/', $result); + + } +} +?> \ No newline at end of file