From 4112ef994a7f5e523e2ffca9a64139f58ee088df Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Mon, 8 Sep 2014 10:53:38 +0800 Subject: [PATCH] MDL-40356 lib: Unit tests for the alternativefullnameformat setting. --- lib/tests/moodlelib_test.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/tests/moodlelib_test.php b/lib/tests/moodlelib_test.php index 776d1fcb60b..6de89773468 100644 --- a/lib/tests/moodlelib_test.php +++ b/lib/tests/moodlelib_test.php @@ -2321,6 +2321,7 @@ class core_moodlelib_testcase extends advanced_testcase { // Back up config settings for restore later. $originalcfg = new stdClass(); $originalcfg->fullnamedisplay = $CFG->fullnamedisplay; + $originalcfg->alternativefullnameformat = $CFG->alternativefullnameformat; // Testing existing fullnamedisplay settings. $CFG->fullnamedisplay = 'firstname'; @@ -2344,10 +2345,35 @@ class core_moodlelib_testcase extends advanced_testcase { // Test override parameter. $CFG->fullnamedisplay = 'firstname'; + $expectedname = "$user->firstname $user->lastname $user->firstnamephonetic $user->lastnamephonetic $user->middlename $user->alternatename"; + $testname = fullname($user, true); + $this->assertSame($expectedname, $testname); + + // Test alternativefullnameformat setting. + // Test alternativefullnameformat that has been set to nothing. + $CFG->alternativefullnameformat = ''; + $expectedname = "$user->firstname $user->lastname $user->firstnamephonetic $user->lastnamephonetic $user->middlename $user->alternatename"; + $testname = fullname($user, true); + $this->assertSame($expectedname, $testname); + + // Test alternativefullnameformat that has been set to 'language'. + $CFG->alternativefullnameformat = 'language'; + $expectedname = "$user->firstname $user->lastname $user->firstnamephonetic $user->lastnamephonetic $user->middlename $user->alternatename"; + $testname = fullname($user, true); + $this->assertSame($expectedname, $testname); + + // Test customising the alternativefullnameformat setting with a basic configuration. + $CFG->alternativefullnameformat = 'firstname lastname'; $expectedname = "$user->firstname $user->lastname"; $testname = fullname($user, true); $this->assertSame($expectedname, $testname); + // Test customising the alternativefullnameformat setting with a more advanced configuration. + $CFG->alternativefullnameformat = 'firstname firstnamephonetic lastname lastnamephonetic, middlename'; + $expectedname = "$user->firstname $user->firstnamephonetic $user->lastname $user->lastnamephonetic, $user->middlename"; + $testname = fullname($user, true); + $this->assertSame($expectedname, $testname); + // Test additional name fields. $CFG->fullnamedisplay = 'lastname lastnamephonetic firstname firstnamephonetic'; $expectedname = "$user->lastname $user->lastnamephonetic $user->firstname $user->firstnamephonetic"; @@ -2428,6 +2454,7 @@ class core_moodlelib_testcase extends advanced_testcase { // Tidy up after we finish testing. $CFG->fullnamedisplay = $originalcfg->fullnamedisplay; + $CFG->alternativefullnameformat = $originalcfg->alternativefullnameformat; } public function test_get_all_user_name_fields() {