Reproduce #12755
This commit is contained in:
@@ -1007,6 +1007,35 @@ class UserDirectoryTestCase(unittest.HomeserverTestCase):
|
||||
self.assertEqual(in_public, {(bob, room1), (bob, room2)})
|
||||
self.assertEqual(in_private, set())
|
||||
|
||||
def test_ignore_display_names_with_null_codepoints(self) -> None:
|
||||
MXC_DUMMY = "mxc://dummy"
|
||||
|
||||
# Alice creates a public room.
|
||||
alice = self.register_user("alice", "pass")
|
||||
alice_token = self.login(alice, "pass")
|
||||
|
||||
# Alice has a user directory entry to start with.
|
||||
self.assertIn(
|
||||
alice,
|
||||
self.get_success(self.user_dir_helper.get_profiles_in_user_directory()),
|
||||
)
|
||||
|
||||
# Alice changes her name to include a null codepoint.
|
||||
self.get_success(
|
||||
self.hs.get_user_directory_handler().handle_local_profile_change(
|
||||
alice,
|
||||
ProfileInfo(
|
||||
display_name="abcd\u0000efgh",
|
||||
avatar_url=MXC_DUMMY,
|
||||
),
|
||||
)
|
||||
)
|
||||
# Alice's profile should be updated with the new avatar, but no display name.
|
||||
self.assertEqual(
|
||||
self.get_success(self.user_dir_helper.get_profiles_in_user_directory()),
|
||||
{alice: ProfileInfo(display_name=None, avatar_url=MXC_DUMMY)},
|
||||
)
|
||||
|
||||
|
||||
class TestUserDirSearchDisabled(unittest.HomeserverTestCase):
|
||||
servlets = [
|
||||
|
||||
Reference in New Issue
Block a user