From eed84bfd4bdb5e547d4dc15b6853794e2f906eea Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Tue, 25 Apr 2017 12:46:46 +0530 Subject: [PATCH 1/2] MDL-58701 libraries: Use pluginfile.php as rewrite url for web req. --- lib/externallib.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/externallib.php b/lib/externallib.php index 6944b597959..4621ed1060b 100644 --- a/lib/externallib.php +++ b/lib/externallib.php @@ -1140,6 +1140,8 @@ class external_settings { if ((AJAX_SCRIPT == false) && (CLI_SCRIPT == false) && (WS_SERVER == false)) { // For normal pages, the default should match the default for format_text. $this->filter = true; + // Use pluginfile.php for web requests. + $this->file = 'pluginfile.php'; } } From ac3022fb0eab7475d948ca01d472780134d1d8f9 Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Wed, 26 Apr 2017 09:16:25 +0530 Subject: [PATCH 2/2] MDL-58701 phpunit: Add tests for external_settings --- lib/externallib.php | 2 +- lib/tests/externallib_test.php | 31 ++++++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/lib/externallib.php b/lib/externallib.php index 4621ed1060b..d7acb943ee0 100644 --- a/lib/externallib.php +++ b/lib/externallib.php @@ -1154,7 +1154,7 @@ class external_settings { /** * Return only one instance * - * @return object + * @return \external_settings */ public static function get_instance() { if (self::$instance === null) { diff --git a/lib/tests/externallib_test.php b/lib/tests/externallib_test.php index d6a922c0a00..ce50ac30276 100644 --- a/lib/tests/externallib_test.php +++ b/lib/tests/externallib_test.php @@ -43,6 +43,36 @@ class core_externallib_testcase extends advanced_testcase { } } + /** + * Tests for external_settings class. + */ + public function test_external_settings() { + + $settings = \external_settings::get_instance(); + $currentraw = $settings->get_raw(); + $currentfilter = $settings->get_filter(); + $currentfile = $settings->get_file(); + $currentfileurl = $settings->get_fileurl(); + + $this->assertInstanceOf('external_settings', $settings); + + // Check apis. + $settings->set_file('plugin.php'); + $this->assertEquals('plugin.php', $settings->get_file()); + $settings->set_filter(false); + $this->assertFalse($settings->get_filter()); + $settings->set_fileurl(false); + $this->assertFalse($settings->get_fileurl()); + $settings->set_raw(true); + $this->assertTrue($settings->get_raw()); + + // Restore original values. + $settings->set_file($currentfile); + $settings->set_filter($currentfilter); + $settings->set_fileurl($currentfileurl); + $settings->set_raw($currentraw); + } + public function test_validate_params() { $params = array('text'=>'aaa', 'someid'=>'6'); $description = new external_function_parameters(array('someid' => new external_value(PARAM_INT, 'Some int value'), @@ -539,7 +569,6 @@ class core_externallib_testcase extends advanced_testcase { } } - } /*