mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 08:26:37 +02:00
MDL-39445 get_plugin_list clean_param use is slow
get_plugin_list was calling clean_param($pluginname, PARAM_PLUGIN) a lot (600+ times per page), and that is much slower than you would guess. A specific function for this case, (which we then also use from clean_param) is a performance win.
This commit is contained in:
parent
95190fda69
commit
5f85073525
3 changed files with 28 additions and 9 deletions
|
@ -797,6 +797,21 @@ class moodlelib_testcase extends advanced_testcase {
|
|||
$this->assertSame(clean_param('user_', PARAM_COMPONENT), '');
|
||||
}
|
||||
|
||||
function test_is_valid_plugin_name() {
|
||||
$this->assertTrue(is_valid_plugin_name('forum'));
|
||||
$this->assertTrue(is_valid_plugin_name('forum2'));
|
||||
$this->assertTrue(is_valid_plugin_name('online_users'));
|
||||
$this->assertTrue(is_valid_plugin_name('blond_online_users'));
|
||||
$this->assertFalse(is_valid_plugin_name('online__users'));
|
||||
$this->assertFalse(is_valid_plugin_name('forum '));
|
||||
$this->assertFalse(is_valid_plugin_name('forum.old'));
|
||||
$this->assertFalse(is_valid_plugin_name('xx-yy'));
|
||||
$this->assertFalse(is_valid_plugin_name('2xx'));
|
||||
$this->assertFalse(is_valid_plugin_name('Xx'));
|
||||
$this->assertFalse(is_valid_plugin_name('_xx'));
|
||||
$this->assertFalse(is_valid_plugin_name('xx_'));
|
||||
}
|
||||
|
||||
function test_clean_param_plugin() {
|
||||
// please note the cleaning of plugin names is very strict, no guessing here
|
||||
$this->assertSame(clean_param('forum', PARAM_PLUGIN), 'forum');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue