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