MDL-53779 external: get_string and get_strings use PARAM_RAW
[moodle.git] / lib / external / tests / external_test.php
index 4eba534..4ff82b0 100644 (file)
@@ -78,6 +78,26 @@ class core_external_testcase extends externallib_advanced_testcase {
                       array('name' => 'id', 'value' => $service->id)));
     }
 
+    /**
+     * Test get_string with HTML.
+     */
+    public function test_get_string_containing_html() {
+        $result = core_external::get_string('registrationinfo');
+        $actual = external_api::clean_returnvalue(core_external::get_string_returns(), $result);
+        $expected = get_string('registrationinfo', 'moodle');
+        $this->assertSame($expected, $actual);
+    }
+
+    /**
+     * Test get_string with arguments containing HTML.
+     */
+    public function test_get_string_with_args_containing_html() {
+        $result = core_external::get_string('added', 'moodle', null, [['value' => '<strong>Test</strong>']]);
+        $actual = external_api::clean_returnvalue(core_external::get_string_returns(), $result);
+        $expected = get_string('added', 'moodle', '<strong>Test</strong>');
+        $this->assertSame($expected, $actual);
+    }
+
     /**
      * Test get_strings
      */
@@ -114,6 +134,29 @@ class core_external_testcase extends externallib_advanced_testcase {
         }
     }
 
+    /**
+     * Test get_strings with HTML.
+     */
+    public function test_get_strings_containing_html() {
+        $result = core_external::get_strings([['stringid' => 'registrationinfo'], ['stringid' => 'loginaspasswordexplain']]);
+        $actual = external_api::clean_returnvalue(core_external::get_strings_returns(), $result);
+        $this->assertSame(get_string('registrationinfo', 'moodle'), $actual[0]['string']);
+        $this->assertSame(get_string('loginaspasswordexplain', 'moodle'), $actual[1]['string']);
+    }
+
+    /**
+     * Test get_strings with arguments containing HTML.
+     */
+    public function test_get_strings_with_args_containing_html() {
+        $result = core_external::get_strings([
+            ['stringid' => 'added', 'stringparams' => [['value' => '<strong>Test</strong>']]],
+            ['stringid' => 'loggedinas', 'stringparams' => [['value' => '<strong>Test</strong>']]]]
+        );
+        $actual = external_api::clean_returnvalue(core_external::get_strings_returns(), $result);
+        $this->assertSame(get_string('added', 'moodle', '<strong>Test</strong>'), $actual[0]['string']);
+        $this->assertSame(get_string('loggedinas', 'moodle', '<strong>Test</strong>'), $actual[1]['string']);
+    }
+
     /**
      * Test get_component_strings
      */