MDL-31989 component: Allow classes to be retrieved by namespace

This commit is contained in:
David Monllao
2016-02-23 10:47:58 +00:00
committed by Dan Poltawski
parent db48207e1a
commit f900b2b6c9
2 changed files with 53 additions and 1 deletions
+18
View File
@@ -451,4 +451,22 @@ class core_component_testcase extends advanced_testcase {
$list = core_component::get_plugin_list_with_file('report', 'idontexist.php', true);
$this->assertEquals(array(), array_keys($list));
}
public function test_get_component_classes_int_namespace() {
// Unexisting.
$this->assertCount(0, core_component::get_component_classes_in_namespace('core_unexistingcomponent', 'something'));
$this->assertCount(0, core_component::get_component_classes_in_namespace('auth_cas', 'something'));
// Prefix with backslash if it doesn\'t come prefixed.
$this->assertCount(1, core_component::get_component_classes_in_namespace('auth_cas', 'task'));
$this->assertCount(1, core_component::get_component_classes_in_namespace('auth_cas', '\\task'));
// Core as a component works.
$this->assertCount(7, core_component::get_component_classes_in_namespace('core', 'update'));
// Multiple levels.
$this->assertCount(5, core_component::get_component_classes_in_namespace('core_user', '\\output\\myprofile\\'));
$this->assertCount(5, core_component::get_component_classes_in_namespace('core_user', '\\output\\myprofile'));
}
}