From 679a22c718e8cb2d3ae6d981e1745bad948e1b92 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Mon, 30 May 2016 21:01:41 -0400 Subject: Added some unit tests for avatar letter with UTF-8 --- app/Helper/UserHelper.php | 6 +++--- tests/units/Helper/UserHelperTest.php | 1 + tests/units/User/Avatar/LetterAvatarProviderTest.php | 8 ++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/Helper/UserHelper.php b/app/Helper/UserHelper.php index 5c466df3..ae3efe1d 100644 --- a/app/Helper/UserHelper.php +++ b/app/Helper/UserHelper.php @@ -36,10 +36,10 @@ class UserHelper extends Base $initials = ''; foreach (explode(' ', $name, 2) as $string) { - $initials .= mb_substr($string, 0, 1); + $initials .= mb_substr($string, 0, 1, 'UTF-8'); } - return mb_strtoupper($initials); + return mb_strtoupper($initials, 'UTF-8'); } /** @@ -174,7 +174,7 @@ class UserHelper extends Base if (isset($task['creator_id']) && $task['creator_id'] == $this->userSession->getId()) { return true; } - + if ($this->userSession->isAdmin() || $this->getProjectUserRole($task['project_id']) === Role::PROJECT_MANAGER) { return true; } diff --git a/tests/units/Helper/UserHelperTest.php b/tests/units/Helper/UserHelperTest.php index c149e663..10bbc58e 100644 --- a/tests/units/Helper/UserHelperTest.php +++ b/tests/units/Helper/UserHelperTest.php @@ -20,6 +20,7 @@ class UserHelperTest extends Base $this->assertEquals('CN', $helper->getInitials('chuck norris')); $this->assertEquals('CN', $helper->getInitials('chuck norris #2')); $this->assertEquals('A', $helper->getInitials('admin')); + $this->assertEquals('Ü君', $helper->getInitials('Ü 君が代')); } public function testGetRoleName() diff --git a/tests/units/User/Avatar/LetterAvatarProviderTest.php b/tests/units/User/Avatar/LetterAvatarProviderTest.php index 39e51c98..0eb3ef8e 100644 --- a/tests/units/User/Avatar/LetterAvatarProviderTest.php +++ b/tests/units/User/Avatar/LetterAvatarProviderTest.php @@ -34,4 +34,12 @@ class LetterAvatarProviderTest extends Base $expected = '
A
'; $this->assertEquals($expected, $provider->render($user, 48)); } + + public function testRenderWithUTF8() + { + $provider = new LetterAvatarProvider($this->container); + $user = array('id' => 123, 'name' => 'ü', 'username' => 'admin', 'email' => ''); + $expected = '
Ü
'; + $this->assertEquals($expected, $provider->render($user, 48)); + } } -- cgit v1.2.3