mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-03-30 20:45:49 +00:00
* core: profile names with spaces * test * more test * update name validation, export C API * refactor * validate name when creating profile in CLI * validate display name in all APIs when it is changed
28 lines
965 B
Haskell
28 lines
965 B
Haskell
module ValidNames where
|
|
|
|
import Simplex.Chat
|
|
import Test.Hspec
|
|
|
|
validNameTests :: Spec
|
|
validNameTests = describe "valid chat names" $ do
|
|
it "should keep valid and fix invalid names" testMkValidName
|
|
|
|
testMkValidName :: IO ()
|
|
testMkValidName = do
|
|
mkValidName "alice" `shouldBe` "alice"
|
|
mkValidName "алиса" `shouldBe` "алиса"
|
|
mkValidName "John Doe" `shouldBe` "John Doe"
|
|
mkValidName "J.Doe" `shouldBe` "J.Doe"
|
|
mkValidName "J. Doe" `shouldBe` "J. Doe"
|
|
mkValidName "J..Doe" `shouldBe` "J.Doe"
|
|
mkValidName "J ..Doe" `shouldBe` "J Doe"
|
|
mkValidName "J . . Doe" `shouldBe` "J Doe"
|
|
mkValidName "@alice" `shouldBe` "alice"
|
|
mkValidName "#alice" `shouldBe` "alice"
|
|
mkValidName " alice" `shouldBe` "alice"
|
|
mkValidName "alice " `shouldBe` "alice"
|
|
mkValidName "John Doe" `shouldBe` "John Doe"
|
|
mkValidName "'John Doe'" `shouldBe` "John Doe"
|
|
mkValidName "\"John Doe\"" `shouldBe` "John Doe"
|
|
mkValidName "`John Doe`" `shouldBe` "John Doe"
|