fix(messages): sync recognize configured app link entities

This commit is contained in:
iamxvbaba 2026-08-01 00:12:02 +08:00
parent 35d3908660
commit c9371c6048
12 changed files with 327 additions and 72 deletions

View file

@ -62,7 +62,7 @@ func TestMessagesEditMessageReturnsUpdateAndRecordsOwnerContext(t *testing.T) {
Peer: &tg.InputPeerUser{UserID: peerID, AccessHash: 22},
ID: 3,
}
req.SetMessage("edited")
req.SetMessage("edited telesrv://resolve?domain=Alice")
req.SetEntities([]tg.MessageEntityClass{&tg.MessageEntityBold{Offset: 0, Length: 6}})
var in bin.Buffer
if err := req.Encode(&in); err != nil {
@ -85,14 +85,16 @@ func TestMessagesEditMessageReturnsUpdateAndRecordsOwnerContext(t *testing.T) {
t.Fatalf("edit update = %#v, want pts=7 count=1", got.Updates[0])
}
msg, ok := edit.Message.(*tg.Message)
if !ok || msg.ID != 3 || msg.Message != "edited" {
t.Fatalf("edited message = %#v, want id=3 text edited", edit.Message)
if !ok || msg.ID != 3 || msg.Message != "edited telesrv://resolve?domain=Alice" {
t.Fatalf("edited message = %#v, want id=3 text with app-link", edit.Message)
}
if messages.editReq.OwnerUserID != userID || messages.editReq.Peer.ID != peerID || messages.editReq.ID != 3 || messages.editReq.OriginAuthKeyID != authKeyID || messages.editReq.OriginSessionID != 77 {
t.Fatalf("edit request = %+v, want owner peer message id and origin", messages.editReq)
}
if len(messages.editReq.Entities) != 1 || messages.editReq.Entities[0].Type != domain.MessageEntityBold {
t.Fatalf("edit entities = %+v, want bold", messages.editReq.Entities)
if len(messages.editReq.Entities) != 2 || messages.editReq.Entities[0].Type != domain.MessageEntityBold ||
messages.editReq.Entities[1].Type != domain.MessageEntityURL || messages.editReq.Entities[1].Offset != 7 ||
messages.editReq.Entities[1].Length != utf16CodeUnitLen("telesrv://resolve?domain=Alice") {
t.Fatalf("edit entities = %+v, want bold plus configured app-link", messages.editReq.Entities)
}
}