Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/monara/public_html/test.athavaneng.com/themes.php on line 99

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231
. /** * Unit tests. * * @package filter_multilang * @category test * @copyright 2019 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace filter_multilang; use filter_multilang; /** * Tests for filter_multilang. * * @copyright 2019 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class filter_test extends \advanced_testcase { public function setUp(): void { parent::setUp(); $this->resetAfterTest(true); // Enable glossary filter at top level. filter_set_global_state('multilang', TEXTFILTER_ON); } /** * Setup parent language relationship. * * @param string $child the child language, e.g. 'fr_ca'. * @param string $parent the parent language, e.g. 'fr'. */ protected function setup_parent_language(string $child, string $parent) { global $CFG; $langfolder = $CFG->dataroot . '/lang/' . $child; check_dir_exists($langfolder); $langconfig = " [ 'English', 'EnglishFrançais', 'en', ], 'Basic case FR' => [ 'Français', 'EnglishFrançais', 'fr', ], 'Reversed input order EN' => [ 'English', 'FrançaisEnglish', 'en', ], 'Reversed input order EN' => [ 'Français', 'FrançaisEnglish', 'fr', ], 'Fallback to parent when child not present' => [ 'Français', 'EnglishFrançais', 'fr_ca', ['fr_ca' => 'fr'] ], 'Both parent and child language present, using child' => [ 'Québécois', 'Québécois Français English', 'fr_ca', ['fr_ca' => 'fr'], ], 'Both parent and child language present, using parent' => [ 'Français', 'Québécois Français English', 'fr', ['fr_ca' => 'fr'], ], 'Both parent and child language present - reverse order, using child' => [ 'Québécois', 'English Français Québécois', 'fr_ca', ['fr_ca' => 'fr'], ], 'Both parent and child language present - reverse order, using parent' => [ 'Français', 'English Français Québécois', 'fr', ['fr_ca' => 'fr'], ], 'Fallback to parent when child not present when parent is en' => [ 'English', 'DeutschEnglish', 'en_us', ], ]; } /** * Tests the filtering of multi-language strings. * * @dataProvider multilang_testcases * * @param string $expectedoutput The expected filter output. * @param string $input the input that is filtererd. * @param string $targetlang the laguage to set as the current languge . * @param array $parentlangs Array child lang => parent lang. E.g. ['es_co' => 'es', 'es_mx' => 'es']. */ public function test_filtering($expectedoutput, $input, $targetlang, $parentlangs = []) { global $SESSION; $SESSION->forcelang = $targetlang; foreach ($parentlangs as $child => $parent) { $this->setup_parent_language($child, $parent); } $filtered = format_text($input, FORMAT_HTML, array('context' => \context_system::instance())); $this->assertEquals($expectedoutput, $filtered); } }