This commit is contained in:
Huong Nguyen
2023-08-24 10:38:13 +07:00
2 changed files with 40 additions and 1 deletions
+4 -1
View File
@@ -2067,9 +2067,12 @@ function get_mimetype_description($obj, $capitalise=false) {
*/
function file_get_typegroup($element, $groups) {
static $cached = array();
// Turn groups into a list.
if (!is_array($groups)) {
$groups = array($groups);
$groups = preg_split('/[\s,;:"\']+/', $groups, -1, PREG_SPLIT_NO_EMPTY);
}
if (!array_key_exists($element, $cached)) {
$cached[$element] = array();
}
+36
View File
@@ -2010,6 +2010,42 @@ EOF;
['noclean' => true, 'context' => $syscontext], $syscontext, 'core', 'some', 1);
$this->assertSame($text, $result->some);
}
/**
* Tests for file_get_typegroup to check that both arrays, and string values are accepted.
*
* @dataProvider file_get_typegroup_provider
* @param string|array $group
* @param string $expected
*/
public function test_file_get_typegroup(
string|array $group,
string $expected,
): void {
$result = file_get_typegroup('type', $group);
$this->assertContains($expected, $result);
}
public static function file_get_typegroup_provider(): array {
return [
'Array of values' => [
['.html', '.htm'],
'text/html',
],
'String of comma-separated values' => [
'.html, .htm',
'text/html',
],
'String of colon-separated values' => [
'.html : .htm',
'text/html',
],
'String of semi-colon-separated values' => [
'.html ; .htm',
'text/html',
],
];
}
}
/**