Add stricter validation to TestTask.

Empty classnames, and classnames without the correct type suffix
are no longer accepted.  They did the wrong thing anyways.

Fixes #2267
This commit is contained in:
mark_story 2011-11-16 20:38:31 -05:00
parent 9c5ad71abc
commit 8981f49bd5

View file

@ -205,12 +205,14 @@ class TestTask extends BakeTask {
$this->out(++$key . '. ' . $option);
$keys[] = $key;
}
$selection = $this->in(__d('cake_console', 'Choose an existing class, or enter the name of a class that does not exist'));
if (isset($options[$selection - 1])) {
$selection = $options[$selection - 1];
}
if ($type !== 'Model') {
$selection = substr($selection, 0, $typeLength * - 1);
while (empty($selection)) {
$selection = $this->in(__d('cake_console', 'Choose an existing class, or enter the name of a class that does not exist'));
if (is_numeric($selection) && isset($options[$selection - 1])) {
$selection = $options[$selection - 1];
}
if ($type !== 'Model') {
$selection = substr($selection, 0, $typeLength * - 1);
}
}
return $selection;
}