]> git.openstreetmap.org Git - rails.git/blobdiff - test/models/user_test.rb
Require display names to have a minimum unicode width of 3 columns
[rails.git] / test / models / user_test.rb
index 42949504f633925b8a6473cd203972ab944d9a71..92e7d419c33c50f7ec91d1899581793ffd72508a 100644 (file)
@@ -67,6 +67,18 @@ class UserTest < ActiveSupport::TestCase
     assert_not_predicate user, :valid?, "should not allow nil value"
   end
 
     assert_not_predicate user, :valid?, "should not allow nil value"
   end
 
+  def test_display_name_width
+    user = build(:user)
+    user.display_name = "123"
+    assert_predicate user, :valid?, "should allow 3 column name name"
+    user.display_name = "12"
+    assert_not_predicate user, :valid?, "should not allow 2 column name"
+    user.display_name = "1\u{200B}2"
+    assert_not_predicate user, :valid?, "should not allow 2 column name"
+    user.display_name = "\u{200B}\u{200B}\u{200B}"
+    assert_not_predicate user, :valid?, "should not allow 0 column name"
+  end
+
   def test_display_name_valid
     # Due to sanitisation in the view some of these that you might not
     # expect are allowed
   def test_display_name_valid
     # Due to sanitisation in the view some of these that you might not
     # expect are allowed