mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 04:36:43 +00:00
fix(BRIDGE-108): fixed GetInitials when empty username is passed; we now overwrite the username in the vault if its value changed, each time we refresh user auth
This commit is contained in:
@ -34,6 +34,11 @@ var (
|
||||
// getInitials based on webapp implementation:
|
||||
// https://github.com/ProtonMail/WebClients/blob/55d96a8b4afaaa4372fc5f1ef34953f2070fd7ec/packages/shared/lib/helpers/string.ts#L145
|
||||
func getInitials(fullName string) string {
|
||||
fullName = strings.TrimSpace(fullName)
|
||||
if fullName == "" {
|
||||
return "?"
|
||||
}
|
||||
|
||||
words := strings.Split(
|
||||
reMultiSpaces.ReplaceAllString(fullName, " "),
|
||||
" ",
|
||||
|
||||
45
internal/frontend/grpc/utils_test.go
Normal file
45
internal/frontend/grpc/utils_test.go
Normal file
@ -0,0 +1,45 @@
|
||||
// Copyright (c) 2024 Proton AG
|
||||
//
|
||||
// This file is part of Proton Mail Bridge.
|
||||
//
|
||||
// Proton Mail Bridge is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Proton Mail Bridge is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
package grpc
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_GetInitials(t *testing.T) {
|
||||
require.Equal(t, "?", getInitials(""))
|
||||
require.Equal(t, "T", getInitials(" test"))
|
||||
require.Equal(t, "T", getInitials("test "))
|
||||
require.Equal(t, "T", getInitials(" test "))
|
||||
require.Equal(t, "JD", getInitials(" John Doe "))
|
||||
require.Equal(t, "J", getInitials(" JohnDoe@proton.me "))
|
||||
require.Equal(t, "JD", getInitials("\t\r\n John Doe \t\r\n "))
|
||||
|
||||
require.Equal(t, "T", getInitials("TestTestman"))
|
||||
require.Equal(t, "TT", getInitials("Test Testman"))
|
||||
require.Equal(t, "J", getInitials("JamesJoyce"))
|
||||
require.Equal(t, "J", getInitials("JamesJoyceJeremy"))
|
||||
require.Equal(t, "J", getInitials("james.joyce"))
|
||||
require.Equal(t, "JJ", getInitials("James Joyce"))
|
||||
require.Equal(t, "JM", getInitials("James Joyce Mahabharata"))
|
||||
require.Equal(t, "JL", getInitials("James Joyce Jeremy Lin"))
|
||||
require.Equal(t, "JM", getInitials("Jean Michel"))
|
||||
require.Equal(t, "GC", getInitials("George Michael Carrie"))
|
||||
}
|
||||
Reference in New Issue
Block a user