1
0
Fork 0

Validate autoload options are of a supported type

Checks to ensure that the autoload options are one of the three supported
autoload types.

closes #952
pull/1830/head
Beau Simensen 2013-04-25 14:02:15 -05:00
parent 028d95db63
commit ffd45b7678
2 changed files with 31 additions and 1 deletions

View File

@ -179,7 +179,15 @@ class ValidatingArrayLoader implements LoaderInterface
}
}
// TODO validate autoload
if ($this->validateArray('autoload') && !empty($this->config['autoload'])) {
$types = array('psr-0', 'classmap', 'files');
foreach ($this->config['autoload'] as $type => $typeConfig) {
if (!in_array($type, $types)) {
$this->errors[] = 'autoload : invalid value ('.$type.'), must be one of '.implode(', ', $types);
unset($this->config['autoload'][$type]);
}
}
}
// TODO validate dist
// TODO validate source

View File

@ -234,6 +234,28 @@ class ValidatingArrayLoaderTest extends \PHPUnit_Framework_TestCase
'support.source : invalid value, must be a string',
)
),
array(
array(
'name' => 'foo/bar',
'autoload' => 'strings',
),
array(
'autoload : should be an array, string given'
)
),
array(
array(
'name' => 'foo/bar',
'autoload' => array(
'psr0' => array(
'foo' => 'src',
),
),
),
array(
'autoload : invalid value (psr0), must be one of psr-0, classmap, files'
)
),
);
}