public function test_get_public_config() { global $CFG, $SITE, $OUTPUT; $this->resetAfterTest(true); $result = external::get_public_config(); $result = external_api::clean_returnvalue(external::get_public_config_returns(), $result); // Test default values. $context = context_system::instance(); list($authinstructions, $notusedformat) = external_format_text($CFG->auth_instructions, FORMAT_MOODLE, $context->id); list($maintenancemessage, $notusedformat) = external_format_text($CFG->maintenance_message, FORMAT_MOODLE, $context->id); $expected = array('wwwroot' => $CFG->wwwroot, 'httpswwwroot' => $CFG->httpswwwroot, 'sitename' => external_format_string($SITE->fullname, $context->id, true), 'guestlogin' => $CFG->guestloginbutton, 'rememberusername' => $CFG->rememberusername, 'authloginviaemail' => $CFG->authloginviaemail, 'registerauth' => $CFG->registerauth, 'forgottenpasswordurl' => $CFG->forgottenpasswordurl, 'authinstructions' => $authinstructions, 'authnoneenabled' => (int) is_enabled_auth('none'), 'enablewebservices' => $CFG->enablewebservices, 'enablemobilewebservice' => $CFG->enablemobilewebservice, 'maintenanceenabled' => $CFG->maintenance_enabled, 'maintenancemessage' => $maintenancemessage, 'typeoflogin' => api::LOGIN_VIA_APP, 'warnings' => array()); $this->assertEquals($expected, $result); // Change some values. set_config('registerauth', 'email'); $authinstructions = 'Something with <b>html tags</b>'; set_config('auth_instructions', $authinstructions); set_config('typeoflogin', api::LOGIN_VIA_BROWSER, 'tool_mobile'); set_config('logo', 'mock.png', 'core_admin'); set_config('logocompact', 'mock.png', 'core_admin'); list($authinstructions, $notusedformat) = external_format_text($authinstructions, FORMAT_MOODLE, $context->id); $expected['registerauth'] = 'email'; $expected['authinstructions'] = $authinstructions; $expected['typeoflogin'] = api::LOGIN_VIA_BROWSER; $expected['launchurl'] = "{$CFG->wwwroot}/{$CFG->admin}/tool/mobile/launch.php"; if ($logourl = $OUTPUT->get_logo_url()) { $expected['logourl'] = $logourl->out(false); } if ($compactlogourl = $OUTPUT->get_compact_logo_url()) { $expected['compactlogourl'] = $compactlogourl->out(false); } $result = external::get_public_config(); $result = external_api::clean_returnvalue(external::get_public_config_returns(), $result); $this->assertEquals($expected, $result); }