@ -18,6 +18,7 @@
import ' dart:async ' ;
import ' dart:async ' ;
import ' dart:convert ' ;
import ' dart:convert ' ;
import ' dart:math ' ;
import ' dart:typed_data ' ;
import ' dart:typed_data ' ;
import ' package:test/test.dart ' ;
import ' package:test/test.dart ' ;
@ -292,6 +293,9 @@ void main() {
) ,
) ,
) ;
) ;
expect ( room . lastEvent ? . body , ' cdc ' ) ; / / because we edited the " cd " message
expect ( room . lastEvent ? . body , ' cdc ' ) ; / / because we edited the " cd " message
/ / update even when status is sending
/ / https: / / github . com / famedly / matrix - dart - sdk / pull / 1852 # issuecomment - 2173019450
await updateLastEvent (
await updateLastEvent (
Event (
Event (
senderId: ' @test:example.com ' ,
senderId: ' @test:example.com ' ,
@ -313,8 +317,34 @@ void main() {
) ,
) ,
) ;
) ;
expect ( room . lastEvent ? . body , ' edited cdc ' ) ;
expect ( room . lastEvent ? . body , ' edited cdc ' ) ;
expect ( room . lastEvent ? . status , EventStatus . sending ) ;
expect ( room . lastEvent ? . eventId , ' 4 ' ) ;
/ / change because sent
await updateLastEvent (
Event (
senderId: ' @test:example.com ' ,
type: ' m.room.encrypted ' ,
room: room ,
eventId: ' 5 ' ,
originServerTs: DateTime . now ( ) ,
content: {
' msgtype ' : ' m.text ' ,
' body ' : ' edited cdc just because ' ,
' m.new_content ' : {
' msgtype ' : ' m.text ' ,
' body ' : ' edited cdc just because '
} ,
' m.relates_to ' : { ' rel_type ' : ' m.replace ' , ' event_id ' : ' 2 ' } ,
} ,
unsigned: {
messageSendingStatusKey: EventStatus . sent . intValue ,
' transaction_id ' : ' messageID ' ,
} ,
status: EventStatus . sent ,
) ,
) ;
expect ( room . lastEvent ? . body , ' edited cdc just because ' ) ;
expect ( room . lastEvent ? . status , EventStatus . sent ) ;
expect ( room . lastEvent ? . eventId , ' 5 ' ) ;
/ / Status update on edits working ?
/ / Status update on edits working ?
await updateLastEvent (
await updateLastEvent (
@ -322,7 +352,7 @@ void main() {
senderId: ' @test:example.com ' ,
senderId: ' @test:example.com ' ,
type: ' m.room.encrypted ' ,
type: ' m.room.encrypted ' ,
room: room ,
room: room ,
eventId: ' 5 ' ,
eventId: ' 6 ' ,
unsigned: {
unsigned: {
' transaction_id ' : ' 4 ' ,
' transaction_id ' : ' 4 ' ,
messageSendingStatusKey: EventStatus . sent . intValue ,
messageSendingStatusKey: EventStatus . sent . intValue ,
@ -330,24 +360,28 @@ void main() {
originServerTs: DateTime . now ( ) ,
originServerTs: DateTime . now ( ) ,
content: {
content: {
' msgtype ' : ' m.text ' ,
' msgtype ' : ' m.text ' ,
' body ' : ' edited cdc ' ,
' body ' : ' edited cdc is back! ' ,
' m.new_content ' : { ' msgtype ' : ' m.text ' , ' body ' : ' edited cdc ' } ,
' m.new_content ' : {
' msgtype ' : ' m.text ' ,
' body ' : ' edited cdc is back! '
} ,
' m.relates_to ' : { ' rel_type ' : ' m.replace ' , ' event_id ' : ' 2 ' } ,
' m.relates_to ' : { ' rel_type ' : ' m.replace ' , ' event_id ' : ' 2 ' } ,
} ,
} ,
stateKey: ' ' ,
stateKey: ' ' ,
status: EventStatus . sent ,
status: EventStatus . sent ,
) ,
) ,
) ;
) ;
expect ( room . lastEvent ? . eventId , ' 5 ' ) ;
expect ( room . lastEvent ? . eventId , ' 6 ' ) ;
expect ( room . lastEvent ? . body , ' edited cdc ' ) ;
expect ( room . lastEvent ? . body , ' edited cdc is back! ' ) ;
expect ( room . lastEvent ? . status , EventStatus . sent ) ;
expect ( room . lastEvent ? . status , EventStatus . sent ) ;
/ / Are reactions coming through ?
/ / Are reactions coming through ?
await updateLastEvent (
await updateLastEvent (
Event (
Event (
senderId: ' @test:example.com ' ,
senderId: ' @test:example.com ' ,
type: EventTypes . Reaction ,
type: EventTypes . Reaction ,
room: room ,
room: room ,
eventId: ' 123456 ' ,
eventId: ' lastEvent_reactions_dont_matter ' ,
originServerTs: DateTime . now ( ) ,
originServerTs: DateTime . now ( ) ,
content: {
content: {
' m.relates_to ' : {
' m.relates_to ' : {
@ -358,8 +392,8 @@ void main() {
} ,
} ,
) ,
) ,
) ;
) ;
expect ( room . lastEvent ? . eventId , ' 5 ' ) ;
expect ( room . lastEvent ? . eventId , ' 6 ' ) ;
expect ( room . lastEvent ? . body , ' edited cdc ' ) ;
expect ( room . lastEvent ? . body , ' edited cdc is back! ' ) ;
expect ( room . lastEvent ? . status , EventStatus . sent ) ;
expect ( room . lastEvent ? . status , EventStatus . sent ) ;
} ) ;
} ) ;
@ -1522,121 +1556,76 @@ void main() {
' https://matrix.to/#/!localpart%3Aserver.abc?via=fakeServer.notExisting&via=matrix.org&via=test.abc ' ) ;
' https://matrix.to/#/!localpart%3Aserver.abc?via=fakeServer.notExisting&via=matrix.org&via=test.abc ' ) ;
} ) ;
} ) ;
test ( ' EventTooLarge on exceeding max PDU size ' , ( ) async {
test ( ' cancelSend because EventTooLarge in postLoaded room ' , ( ) async {
expect ( room . partial , false ) ;
await room . sendTextEvent (
' older_event ' ,
txid: ' older_event ' ,
) ;
/ / check if persisted in db
final sentEventFromDB =
await matrix . database ? . getEventById ( ' older_event ' , room ) ;
expect ( sentEventFromDB ? . eventId , ' older_event ' ) ;
Room ? roomFromDB ;
roomFromDB = await matrix . database ? . getSingleRoom ( matrix , room . id ) ;
expect ( roomFromDB ? . lastEvent ? . eventId , ' older_event ' ) ;
expect ( room . lastEvent ? . body , ' older_event ' ) ;
/ / status will be error here because fakeapi
/ / but enough for us to fallback after calling cancelSend below
expect ( room . lastEvent ? . eventId , ' older_event ' ) ;
try {
try {
await room . sendTextEvent ( '''
await room . sendTextEvent (
txid: ' event_too_large ' ,
Հ ա յ ե ր ե ն Shqip Б ъ л г а р с к и Català 中 文 简 体 Hrvatski Č esky Dansk Nederlands English Eesti Filipino Suomi Français ქ ა რ თ უ ლ ი Deutsch ह ि न ् द ी Magyar Indonesia Italiano Latviski Lietuviškai м а к е д о н с к и Melayu Norsk Polski Português Româna Pyccкий С р п с к и Slovenčina Slovenščina Español Svenska ไ ท ย Türkçe У к р а ї н с ь к а Tiếng Việt
/ / data just bigger than maxBodySize
Lorem Ipsum
base64Encode (
" Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... "
List < int > . generate ( 60001 , ( i ) = > Random ( ) . nextInt ( 256 ) ) ) ) ;
" There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain... "
Lorem ipsum dolor sit amet , consectetur adipiscing elit . Fusce laoreet imperdiet molestie . Nulla facilisi . Duis pulvinar in dui in congue . Proin at odio eget urna facilisis ultricies et ac ipsum . Nam aliquam augue nunc , eget porta est aliquam a . Maecenas convallis sit amet justo vitae mollis . Duis luctus eleifend lacinia . Sed dictum nulla quis erat dapibus , at sollicitudin felis bibendum . Aenean ultricies , sem ac sollicitudin lobortis , nunc lectus aliquet arcu , in consequat lectus purus non quam . Suspendisse efficitur sagittis est a malesuada . Duis dictum mollis sem . Duis erat quam , malesuada non quam ac , rutrum varius mi .
Fusce eleifend id arcu eu efficitur . Sed eu nisl ullamcorper , laoreet erat eget , tempor dui . Lorem ipsum dolor sit amet , consectetur adipiscing elit . Fusce congue faucibus enim , vitae aliquam magna . Quisque pharetra ut diam eget elementum . Etiam eget sapien velit . Pellentesque interdum , urna id laoreet commodo , tortor orci mollis orci , in sodales magna justo vel lectus . Interdum et malesuada fames ac ante ipsum primis in faucibus . Praesent semper , diam quis condimentum sagittis , felis arcu euismod quam , et vulputate tellus nibh quis libero . Orci varius natoque penatibus et magnis dis parturient montes , nascetur ridiculus mus .
Phasellus nec elit erat . Phasellus vitae mi tempor , gravida orci sed , efficitur purus . Quisque a malesuada nunc . Phasellus varius convallis turpis non porttitor . Nulla venenatis feugiat convallis . Fusce eu pharetra erat . Aliquam in scelerisque eros , aliquam efficitur dolor . Class aptent taciti sociosqu ad litora torquent per conubia nostra , per inceptos himenaeos .
Nunc vehicula libero libero , in tempus quam hendrerit at . Maecenas mattis , ligula sit amet placerat fringilla , diam erat viverra sapien , sit amet vehicula augue tellus sed nunc . Aliquam condimentum tristique tortor vel tincidunt . Nam iaculis tellus enim , vel finibus nulla pharetra eu . Quisque eu tristique enim . Morbi urna neque , tincidunt at malesuada non , fringilla ac arcu . Aliquam sed massa in odio consectetur volutpat . Donec ultrices , elit sed rhoncus blandit , ex tellus molestie magna , id iaculis elit libero ut augue . In fringilla ipsum a ante blandit , nec ornare ante dignissim . Mauris fermentum nisl in turpis gravida pellentesque .
Sed fermentum sapien vitae laoreet tempor . Donec dapibus pulvinar lectus . Phasellus odio ipsum , fringilla quis ultrices ut , posuere egestas arcu . Donec ac pulvinar tellus . Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae ; Aenean vitae mi a est ornare maximus at nec tortor . Quisque sit amet velit lacus .
Nunc eget mollis nisl , et interdum ex . Nam ac augue laoreet orci ullamcorper condimentum . Donec luctus nisl at dui tristique , et viverra dui maximus . Quisque ut ex augue . Nullam venenatis id nunc quis pulvinar . Fusce nulla augue , lacinia nec vehicula a , suscipit suscipit magna . In et consectetur felis .
Pellentesque suscipit augue in ipsum bibendum , et pretium arcu sagittis . Morbi quis purus nec tellus luctus imperdiet . Nullam porta , tellus at malesuada auctor , neque odio posuere magna , in auctor turpis lorem eu sapien . Vivamus tortor mauris , pellentesque ac aliquam id , tincidunt vel metus . Aliquam pharetra augue sapien , quis maximus nisi ullamcorper sit amet . Donec finibus velit nec massa imperdiet consequat . In nec neque justo . Vestibulum tristique placerat felis , quis ornare lacus maximus ut .
Donec in sapien lectus . Nunc condimentum risus quis enim accumsan , quis consequat arcu auctor . In vel odio egestas , sollicitudin quam et , rutrum lectus . Mauris hendrerit rutrum cursus . Mauris sem ante , pretium sit amet risus in , semper auctor ligula . Integer ac urna leo . Aenean nec faucibus ipsum . Nam porttitor , felis quis vehicula vestibulum , mi metus malesuada purus , sed blandit ipsum libero molestie leo . Nam lacinia justo diam , convallis hendrerit eros maximus in . Phasellus fringilla consequat tempor . Sed nec arcu imperdiet , ullamcorper mi nec , faucibus libero .
Curabitur vestibulum pretium sem sit amet eleifend . Ut lectus enim , faucibus at fermentum dapibus , viverra ac mauris . Ut eu ex pretium , egestas eros sodales , imperdiet risus . Etiam vitae tincidunt urna , et varius lectus . Aliquam erat volutpat . Pellentesque consectetur ex at dolor aliquet dapibus . Quisque vestibulum rhoncus tortor at semper . Nulla pharetra condimentum diam ac porta . Cras at interdum mi . Curabitur mattis lacus id neque euismod dignissim . Nullam nibh arcu , commodo nec blandit nec , placerat quis dolor . Cras finibus , arcu eu tempus pulvinar , turpis mi dapibus nibh , a vestibulum dui nulla id nulla . Sed dictum dolor at tempor imperdiet . Praesent vel lacus arcu . Mauris aliquam lacus in eros tincidunt iaculis . Sed vitae aliquam tortor , ut sodales diam .
Aenean eu erat consequat , fermentum ex id , scelerisque tortor . Vestibulum eros nibh , consectetur quis maximus non , mattis non urna . Nullam at ligula ut nibh molestie elementum . Fusce accumsan arcu mattis arcu ultrices , sodales gravida nunc malesuada . Nam nec tincidunt mi . Cras sed tempor lacus . Donec maximus nunc id est hendrerit aliquet . Nulla elementum malesuada felis rutrum bibendum . Pellentesque non nisi vitae tellus consectetur tincidunt . Vestibulum ac magna pulvinar , semper velit et , eleifend dui . Fusce efficitur nulla dui , eget placerat risus vestibulum vitae . Praesent augue nisl , tempor sit amet arcu ac , rhoncus mattis magna . Sed pulvinar turpis a magna condimentum , a egestas turpis commodo .
Phasellus id ante et purus tincidunt fermentum . Duis augue ante , laoreet eget tincidunt in , auctor at risus . Sed lacinia libero nisi , ac fringilla nisi sollicitudin ut . Integer auctor tristique placerat . In hac habitasse platea dictumst . Maecenas at rutrum neque . In scelerisque id lectus ut vulputate . Nullam aliquet pretium nulla ut bibendum . Aenean at tellus eget purus pulvinar vulputate . Mauris scelerisque porta elit sed rhoncus . Phasellus mollis nibh et elit fringilla , eget pharetra elit ornare . Proin malesuada ultrices enim sed egestas . Cras eu rhoncus nibh , nec aliquet velit . Pellentesque mattis placerat lorem sed pretium .
Vivamus quis ultricies magna , sed pellentesque erat . Praesent non volutpat odio . Sed nisl metus , dignissim sed gravida sit amet , ultricies vel urna . Integer semper ex sed felis ullamcorper suscipit . Quisque et molestie velit , a pellentesque nulla . Nam iaculis tristique ipsum , a facilisis orci tristique et . Suspendisse pellentesque magna ut ligula accumsan , sit amet convallis sapien fermentum . Nulla mattis nunc justo . Vivamus semper sapien non turpis gravida , sed pellentesque leo imperdiet . Aenean eget justo quis ipsum aliquam faucibus sed eget orci . Nulla in bibendum tortor , eu lobortis lacus . Morbi tincidunt auctor purus , sit amet viverra metus condimentum aliquet . Aenean nec urna mollis , egestas elit non , lacinia eros . Curabitur mi odio , sodales vel ipsum id , hendrerit condimentum dui .
Class aptent taciti sociosqu ad litora torquent per conubia nostra , per inceptos himenaeos . Donec nunc odio , cursus quis sodales ac , porta eget purus . Mauris non est sit amet velit accumsan dignissim . Nam quis ultricies magna . Nulla facilisi . Pellentesque malesuada est a fringilla consectetur . Pellentesque ipsum eros , ultrices id viverra nec , tempus ut eros . Suspendisse commodo elit vel nisl commodo , non auctor justo dignissim . In sed pharetra ligula , sed lacinia felis . Nulla sodales elit sed erat dignissim faucibus . Etiam a augue ut tortor consectetur pellentesque et in mauris . Pellentesque convallis ligula eget arcu ornare , a tincidunt eros rutrum . Donec eu tellus sollicitudin , rhoncus turpis in , interdum odio . Vestibulum interdum orci convallis nisl ornare dignissim .
Vivamus sagittis nunc eget ipsum dapibus euismod . Nunc sollicitudin elementum cursus . Vivamus ac sollicitudin leo , eget pretium libero . Vestibulum aliquet , turpis eget aliquet egestas , turpis dui ornare velit , et volutpat nisi felis vitae libero . Proin ut sapien urna . Ut eget nibh et mi maximus scelerisque . Nulla facilisis augue sem , sed auctor dolor bibendum at . Fusce eu volutpat magna .
Aliquam ac ante porta , molestie magna tempus , dictum eros . Praesent consectetur interdum nulla , non rutrum libero egestas id . Phasellus sapien nulla , malesuada eu massa vehicula , tincidunt laoreet ipsum . Morbi eu luctus metus . Curabitur at tellus est . Cras blandit sed turpis sit amet fermentum . Morbi vitae enim lectus .
Nulla dignissim dictum maximus . Pellentesque varius tincidunt justo , non dignissim erat egestas id . Cras vitae elit sed dui consectetur finibus vitae eu nunc . Vivamus mattis posuere neque viverra dapibus . Donec congue nunc at massa rutrum , a tristique mi rutrum . Sed accumsan malesuada sagittis . Vivamus nunc leo , aliquet eget mattis vitae , fermentum quis mi . Donec fermentum metus nec risus ultricies , sed dapibus orci dapibus . In nibh felis , feugiat vitae felis vel , dignissim molestie lorem . Fusce tincidunt , lorem et feugiat euismod , quam odio feugiat purus , at sagittis arcu nisi sed diam . Maecenas vestibulum sapien libero , sit amet feugiat nibh pellentesque in . Morbi velit lectus , varius vitae euismod id , mollis in est . Vestibulum vel risus pellentesque , placerat metus eget , cursus dolor .
Duis eu finibus dui . In hac habitasse platea dictumst . Mauris ut elit ut ex malesuada dignissim a tristique dui . Fusce et fringilla dui . Praesent a pretium nulla , elementum tempor lacus . Aliquam maximus elit at orci pellentesque consequat . Interdum et malesuada fames ac ante ipsum primis in faucibus . Donec venenatis consequat lectus , in cursus nisi ullamcorper eget . Nam tincidunt velit quis lorem eleifend sodales . Fusce ac lectus non lectus vehicula convallis . Maecenas tristique nisi mi , sed accumsan diam luctus nec . Praesent non vehicula purus . Fusce ac erat in leo mattis pharetra . Sed et sapien eget ipsum convallis congue .
Fusce convallis , lorem ut luctus venenatis , tortor eros ultricies mi , eu ultricies elit elit at nunc . Mauris semper sagittis condimentum . Fusce consequat porta augue , nec aliquet lacus vestibulum vel . Nam mollis ultricies dui , non maximus urna semper in . Curabitur in lacus pharetra libero blandit mollis . Morbi bibendum at nulla in suscipit . Cras sit amet eros fermentum , interdum erat id , sagittis lorem . Aliquam augue felis , laoreet nec tempus nec , porttitor a augue . Praesent placerat et velit sed maximus . Sed malesuada , purus in porttitor congue , nisi magna pulvinar turpis , et viverra sem nunc eu velit . Fusce augue enim , pulvinar eu leo eget , eleifend blandit metus . Etiam feugiat erat eget efficitur viverra . Vestibulum elit ligula , aliquet sed malesuada a , auctor ut odio . Aenean tincidunt tristique velit nec finibus . Suspendisse eu consequat quam , ac faucibus risus .
Maecenas fermentum tristique velit eget convallis . Proin elementum risus nibh , sed mattis risus mattis bibendum . Nullam id pulvinar arcu . Pellentesque lobortis , arcu et vulputate placerat , quam justo congue nunc , ut pharetra eros nibh eget massa . Nam vel lorem risus . Aliquam egestas volutpat sem malesuada fermentum . Sed justo tellus , mattis nec sapien varius , imperdiet iaculis eros . Maecenas eu congue elit . Nam finibus nisi sit amet sagittis tincidunt . Proin vitae pretium ante . Cras nulla dui , condimentum eget massa eu , ullamcorper posuere justo . Maecenas lobortis vestibulum ligula , eget consequat nibh vulputate sed . Aenean lorem ligula , suscipit sed placerat ut , mattis quis nulla .
Cras diam sem , egestas sed tempor vel , placerat eget orci . Cras et sem a sapien ullamcorper imperdiet . Cras vulputate rutrum posuere . Morbi elementum lorem eget mi mattis aliquet . Nullam gravida eros metus , pharetra hendrerit felis sollicitudin vitae . Donec ultricies arcu nec semper lobortis . Vivamus sollicitudin ex diam , vitae egestas nulla ullamcorper ut .
Aenean pretium sem id justo feugiat , porta fermentum nibh auctor . Quisque et venenatis est , vel semper urna . Suspendisse aliquet sit amet nisi non pretium . Nam sit amet ipsum feugiat , lacinia diam et , lobortis magna . Praesent luctus egestas nisl , quis euismod mi mollis ac . Aenean consequat lobortis mollis . Vestibulum diam tortor , laoreet a nunc vulputate , imperdiet luctus libero . Integer id nisi eu lorem commodo lobortis . Class aptent taciti sociosqu ad litora torquent per conubia nostra , per inceptos himenaeos . In elit augue , feugiat at feugiat in , fermentum eu justo . Ut ut neque nisi . Maecenas tristique vestibulum quam , vel blandit erat ornare eget . Quisque ullamcorper tellus sit amet justo dictum laoreet . Praesent at elit condimentum , accumsan tortor vitae , ultrices justo . Cras in cursus justo , sit amet malesuada turpis . Suspendisse porta , turpis quis porttitor pharetra , ante erat ornare libero , nec pulvinar felis ex sed magna .
Maecenas ac nisi quis nulla fringilla faucibus . Sed non lorem consectetur , tempor sem at , maximus libero . Sed aliquam facilisis varius . Curabitur quis molestie ante , sed finibus enim . Duis mattis arcu vitae viverra elementum . Suspendisse efficitur orci et justo ultrices porttitor . Donec scelerisque accumsan iaculis . Integer quis porttitor odio . Mauris in nisi quis ipsum dignissim condimentum . Phasellus ante lacus , porta pretium magna ac , tincidunt ornare urna . Curabitur semper ornare consequat . Maecenas commodo posuere nunc quis dapibus . Proin tincidunt malesuada arcu , nec consectetur magna tempor nec .
Pellentesque neque risus , tempor a blandit non , tempor non lorem . Proin vitae turpis erat . Donec non ante non lacus elementum mollis nec at elit . Nunc facilisis eu sem sed commodo . Sed tristique euismod cursus . Maecenas sit amet ipsum laoreet dui faucibus pellentesque . In a porttitor nibh , a semper justo . Pellentesque vulputate commodo dolor eget sagittis . Nullam venenatis congue facilisis . Nam aliquam , nisl et vulputate sollicitudin , risus dolor iaculis magna , et suscipit nulla enim ut risus . Etiam vehicula sed leo ut volutpat .
Maecenas condimentum lobortis eros , vehicula egestas augue pharetra sed . Pellentesque ac augue vel quam convallis imperdiet nec a orci . Mauris hendrerit hendrerit elit , sed sodales arcu feugiat ut . Fusce sit amet augue pulvinar , vehicula mauris non , posuere elit . In sed ante vel neque efficitur malesuada sed eu est . Etiam accumsan dapibus placerat . Aenean aliquet porta lacus , et dictum ipsum tincidunt id . Sed ut lacinia eros , vel maximus ligula . Maecenas scelerisque , nibh id porta semper , purus quam feugiat massa , vitae convallis tortor augue quis nisi . In in enim sagittis , dapibus enim at , gravida velit . Etiam sodales libero eget lectus posuere aliquam . Proin fermentum , justo eu tempor luctus , lacus nisi bibendum eros , et vulputate nunc sem porta neque .
Fusce eu ipsum tellus . Sed et vulputate sem . Sed nec ipsum dictum , molestie lorem ut , pretium dolor . Vestibulum iaculis dignissim mi , vel lacinia sem consectetur a . Quisque in tortor eget enim viverra rhoncus eget eu magna . Sed ut sollicitudin lorem , in semper justo . Maecenas congue dui vitae sapien molestie interdum quis quis velit . Quisque nec sem in erat tempor sodales in quis nunc .
Maecenas eleifend libero sed enim iaculis , vitae vestibulum elit auctor . Mauris nunc ligula , gravida sodales sagittis a , molestie a dui . Proin faucibus id sem imperdiet facilisis . Aenean aliquet ac diam eu facilisis . Maecenas interdum pellentesque augue quis aliquet . Sed iaculis mattis luctus . Pellentesque porttitor nisi eu sapien dictum , rhoncus laoreet neque vehicula . Vivamus in nisi justo . Aenean est leo , aliquet nec eros ut , hendrerit fermentum arcu . Praesent eget mi ultrices , semper mi ut , porta dui . Fusce vestibulum lacus augue , quis viverra lacus elementum euismod . Nullam tempus tincidunt blandit . Quisque ultricies mauris feugiat , pretium justo consectetur , lacinia metus . Maecenas condimentum augue arcu , vitae congue purus fringilla volutpat .
Ut molestie massa libero , tempus finibus magna ultrices ut . Nunc consectetur arcu ultrices pharetra rutrum . Mauris fringilla hendrerit blandit . Phasellus ultrices consectetur purus , id bibendum velit elementum non . Lorem ipsum dolor sit amet , consectetur adipiscing elit . Nulla eu urna non felis facilisis finibus sed ac purus . Vivamus vestibulum , turpis ut tincidunt cursus , libero lectus ultricies quam , at vulputate arcu sem at nisi . Quisque ac mi sit amet nisi vestibulum faucibus ut a arcu .
Suspendisse ornare auctor gravida . Donec vitae pellentesque risus . In placerat commodo sapien in laoreet . Quisque tempus ipsum nulla , a rhoncus nunc tincidunt id . In non luctus odio . Suspendisse non pretium nisi . Morbi orci eros , porttitor quis augue sit amet , rhoncus sodales erat . Phasellus at aliquet orci .
Aliquam condimentum , ipsum quis consectetur posuere , magna justo posuere tortor , nec aliquet massa libero in orci . Cras quam lacus , dapibus a elit eu , maximus eleifend velit . Donec erat quam , egestas at viverra et , posuere sed neque . Praesent mattis nibh eget augue convallis , sit amet mattis purus rutrum . Nam nec ligula auctor , bibendum purus non , vestibulum mi . Curabitur fringilla consectetur dapibus . Donec dapibus blandit ultrices . Nulla sed sollicitudin arcu , vitae rhoncus risus . Vestibulum fermentum , libero vel aliquam hendrerit , orci felis vehicula diam , condimentum gravida sem arcu ut felis . Quisque id neque accumsan eros viverra tincidunt nec sit amet velit . Donec urna dui , pulvinar ut nisl a , luctus rutrum mi . Nulla erat odio , vulputate luctus consequat vulputate , venenatis a enim . Maecenas at suscipit justo , ac gravida odio .
Duis elementum velit ac mauris elementum , sed eleifend tellus pharetra . Praesent eu consectetur ipsum . Proin vel bibendum ex . Nulla feugiat felis magna , et pharetra risus tempor vitae . Donec quis metus dui . Nunc egestas porttitor massa , id lacinia velit fermentum eu . Sed porttitor ligula nulla , eu auctor ex eleifend nec . Morbi viverra luctus ligula , eu facilisis nisi interdum ut . Phasellus auctor mauris ac ipsum eleifend , vitae ultrices est fermentum . Fusce fermentum maximus vehicula . Integer ullamcorper lectus non magna tempor venenatis . Donec non accumsan massa . Integer eu justo in velit mattis facilisis .
In venenatis felis vel mi congue , a pulvinar velit volutpat . In nec justo sed dolor egestas tincidunt non et augue . Curabitur consectetur sem sed fringilla gravida . Duis porta mi arcu , vitae sodales ex scelerisque non . Duis a ante a orci ultricies molestie sed ac erat . Class aptent taciti sociosqu ad litora torquent per conubia nostra , per inceptos himenaeos . Duis auctor odio ut feugiat fermentum . Nunc maximus metus in finibus rutrum . Nulla suscipit metus sit amet neque pulvinar bibendum aliquam sed ipsum . Nunc purus neque , lobortis vitae hendrerit non , imperdiet a ipsum . Praesent ultricies justo ut aliquam laoreet . Etiam vel varius eros . Aliquam at consequat massa .
Nulla ultrices arcu in vehicula eleifend . Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas . Nam volutpat eleifend ultricies . Nunc fringilla turpis malesuada mi porttitor , a interdum mauris vestibulum . Ut eu orci quis ipsum finibus molestie vel vitae orci . Proin sollicitudin erat sapien , ac rutrum tortor fermentum in . In iaculis placerat neque ut rutrum . Donec enim felis , efficitur imperdiet viverra vel , sagittis eget ligula .
Aliquam a purus aliquam , rhoncus diam sed , egestas odio . Etiam tincidunt lacus non magna blandit sagittis . Lorem ipsum dolor sit amet , consectetur adipiscing elit . Aliquam erat volutpat . Quisque ex est , lacinia ut auctor a , posuere vel sapien . Vivamus urna diam , condimentum et feugiat sed , ornare et nisi . Cras ac quam at velit iaculis luctus non sed ante . Donec bibendum quam metus , sit amet facilisis ligula euismod commodo . Proin rhoncus sodales enim at vestibulum . Quisque in ligula elementum eros luctus dapibus ut eget felis . Morbi in turpis diam . Etiam eleifend , lacus vitae condimentum rutrum , eros odio condimentum nisi , ut pulvinar tellus elit et orci . Phasellus sit amet laoreet diam . Etiam bibendum arcu odio , non tempor diam ultricies vel .
Duis vestibulum iaculis lacus sed dapibus . Maecenas tincidunt nec eros quis semper . Pellentesque eget mauris ipsum . Ut sodales eros lacus , in lobortis neque facilisis ac . Pellentesque vestibulum quam ante , in posuere sapien tristique ut . Integer varius in libero eu varius . Donec varius lorem quis augue interdum convallis .
Nullam faucibus arcu sed quam lobortis , quis mattis tellus viverra . Vivamus in metus dolor . Nam at auctor nisi , pellentesque varius justo . Maecenas viverra , erat eget pharetra rhoncus , nibh libero cursus nisi , quis lobortis felis odio quis ipsum . Aenean eget porta tellus , nec aliquam ipsum . Cras elementum lacinia ex , nec feugiat nibh mollis in . Pellentesque eget lectus ipsum . Fusce maximus velit a urna lobortis ultricies sit amet in lectus . In pharetra diam ut enim auctor , congue auctor nulla rhoncus .
Vestibulum id eros tempus , fermentum elit sit amet , feugiat nisi . Cras sollicitudin lectus molestie diam feugiat dapibus . Sed dapibus congue venenatis . Sed quis interdum elit , aliquet luctus turpis . Donec sit amet eros et nunc porttitor accumsan vitae vel enim . Nunc ultricies rutrum dolor , ac ornare dui . Praesent quis interdum tortor . In dictum eleifend diam sed auctor . Cras vel massa nec turpis aliquam tempus sed a odio . Curabitur quis eleifend turpis , sed egestas ipsum . Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas . Aliquam laoreet tempus lobortis . Mauris scelerisque dui lectus , eu pharetra tellus faucibus a . Fusce ut nibh sed libero auctor fringilla . Aliquam tristique tristique turpis , quis egestas mi . Aliquam scelerisque lacus vel orci fringilla , eu tincidunt lectus tincidunt .
Vivamus pulvinar aliquam purus in tempus . Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae ; Sed eget sollicitudin urna . Vestibulum suscipit ut lacus hendrerit lobortis . Ut at elit turpis . Aliquam condimentum tellus vitae ante dignissim interdum . Aliquam gravida neque eu sem pulvinar , sed malesuada massa malesuada . Pellentesque nec posuere dolor . Etiam scelerisque velit dolor , ut fringilla elit cursus vitae . Nulla fermentum risus nunc , ullamcorper ultricies eros tristique lobortis . Duis sit amet aliquam enim . Sed maximus fermentum diam , at venenatis dolor bibendum sollicitudin .
Mauris vestibulum eros id enim rhoncus ullamcorper nec eu nisi . Aenean placerat nulla eu dolor tempor dapibus . Donec porttitor velit vitae velit porttitor dictum . Nam sed laoreet leo . Integer id cursus risus . Nulla in nibh aliquet , sagittis sapien et , posuere risus . Pellentesque malesuada tristique eleifend . Proin nec sagittis enim . Curabitur eget ex at enim fermentum egestas . Integer hendrerit accumsan augue , posuere fermentum erat pharetra vel . Etiam faucibus vestibulum ipsum , eu pellentesque mi . Donec nec tortor et ex volutpat consectetur . Aliquam erat volutpat . Integer non enim justo . Quisque augue ante , fermentum eu ipsum tempus , maximus vulputate leo . Cras imperdiet pulvinar nisl , eget aliquet elit .
Praesent nec nunc quis est pharetra efficitur . Nunc rutrum quis erat et dignissim . Proin ultricies sagittis tortor , quis finibus sapien interdum non . Vestibulum ex nulla , dictum ut enim ac , finibus pretium leo . Maecenas porta ex hendrerit justo rutrum lobortis . Nullam felis arcu , gravida ac tellus in , bibendum suscipit elit . Duis iaculis blandit metus nec fringilla . Maecenas a sapien non est consequat fringilla at tempor justo . Etiam turpis quam , vulputate eu elit at , lacinia scelerisque urna . Mauris massa lorem , auctor non scelerisque nec , vestibulum iaculis nisi . Duis at sapien mattis , placerat lacus a , tristique massa . Maecenas molestie justo vitae tellus euismod , ac dictum risus auctor . Cras sagittis dui risus , vitae hendrerit libero aliquam ornare . Nulla quis felis ac libero maximus feugiat quis vitae enim . Donec quam leo , egestas a congue vitae , tempus hendrerit est . In pulvinar turpis faucibus mi maximus cursus .
In lacus velit , facilisis a erat et , blandit finibus eros . Vivamus nec laoreet est . Vivamus eu sapien consectetur , iaculis mi vel , condimentum justo . Vivamus tincidunt purus eu leo suscipit tempor . Etiam commodo porttitor ex id pellentesque . Vivamus ac erat et purus porttitor tristique . Maecenas quis nulla libero .
Integer finibus libero ex , ac malesuada neque aliquet a . Etiam elementum a lacus sed rhoncus . Proin semper neque ac nulla interdum pretium . Nam porta convallis urna . Cras vel tempus nunc . Praesent eget suscipit elit , faucibus sollicitudin ex . Nulla vel eros a libero mollis varius quis eu justo .
Nullam sed pulvinar magna . Mauris at mauris nec lorem lobortis condimentum . Morbi vestibulum malesuada lacus id molestie . Sed eu auctor mi , in laoreet ligula . Sed fringilla , diam et bibendum sagittis , nisi odio rutrum sem , et interdum dolor felis vitae enim . Donec id mollis enim . Nullam ut gravida dolor .
Duis eget eros mollis , ullamcorper turpis eu , rhoncus felis . In semper quam nec dignissim dignissim . Praesent quis bibendum tellus , id tincidunt dolor . Morbi congue interdum odio non interdum . Proin at sem et ligula venenatis bibendum id id odio . Proin sit amet rutrum libero , eu dictum sapien . Aenean interdum felis quis sollicitudin tristique . Proin hendrerit ipsum vel enim mattis sollicitudin .
Sed id auctor lorem , non auctor libero . Cras non augue tellus . Fusce scelerisque , nulla in imperdiet convallis , urna lorem consectetur urna , non hendrerit ipsum turpis ut ante . Sed justo leo , placerat vel bibendum sit amet , sollicitudin ornare ligula . Praesent laoreet dignissim accumsan . Proin cursus dui nisl , et interdum lacus dapibus malesuada . Nunc condimentum , dolor et tempor rhoncus , velit nisl accumsan elit , non imperdiet nulla sem a eros .
Donec eu tortor porta mi semper pulvinar . Integer porttitor , tortor vitae malesuada facilisis , est metus bibendum erat , nec molestie nunc mi eu arcu . Aliquam sit amet vulputate nisi . Sed ullamcorper purus et odio facilisis , non pharetra odio suscipit . Orci varius natoque penatibus et magnis dis parturient montes , nascetur ridiculus mus . Sed semper tellus augue , facilisis placerat risus pulvinar eget . In in magna ut sapien pharetra bibendum porta ut leo . Ut varius est ac placerat pharetra . Integer eu feugiat quam , at porta lectus . Curabitur in interdum mi , sed scelerisque neque . Nullam pellentesque ex eu accumsan congue . Curabitur auctor blandit gravida .
Nulla at lobortis felis . Quisque ante dui , aliquam non hendrerit vel , eleifend a massa . Maecenas eget massa ac lectus auctor molestie . Nullam at sagittis elit , ut aliquet augue . Integer eget augue ut mi vehicula pharetra euismod ut felis . Mauris mauris tellus , facilisis et vestibulum a , tincidunt sit amet elit . Maecenas consequat felis at enim congue , vitae eleifend nisi blandit . Suspendisse potenti . Donec at suscipit metus . Nam a sem at lacus maximus laoreet . Cras lacinia hendrerit ornare . Phasellus rhoncus imperdiet urna , sed malesuada eros laoreet at . Vivamus vel euismod urna . Donec sapien risus , tincidunt quis felis in , gravida tempor diam .
Ut a lectus molestie enim sodales condimentum faucibus in diam . Suspendisse ultricies tincidunt felis , a venenatis est interdum in . Nulla a sem ac ligula fermentum sodales vitae id justo . Donec facilisis placerat est , sed tempor sapien condimentum vel . Fusce consectetur nulla accumsan quam consequat , vitae tempus elit maximus . Praesent egestas augue quis tortor porta bibendum . In ultricies urna ac bibendum suscipit . Morbi et arcu tempor , faucibus est quis , ullamcorper neque . Aenean accumsan urna mattis nulla rhoncus , a volutpat neque efficitur . Pellentesque quis risus facilisis , dignissim arcu in , venenatis diam . Phasellus lobortis massa et finibus lacinia . Praesent blandit eros in ex blandit , quis tincidunt orci dapibus . Pellentesque auctor orci ac lorem scelerisque porta . Aliquam ultricies dapibus consectetur . Vestibulum consequat , magna varius tempor posuere , lacus turpis gravida nulla , eu vestibulum est libero vitae magna . Aenean rutrum dolor sit amet rhoncus egestas .
Ut eleifend hendrerit augue , eget bibendum orci porttitor eget . Donec pulvinar ligula massa , sed lobortis nunc condimentum et . Etiam sapien augue , faucibus varius gravida nec , aliquet id risus . Mauris in lacus lectus . Curabitur efficitur , sem lacinia posuere suscipit , augue quam consectetur leo , quis accumsan ante felis ac nisi . Vivamus condimentum at mauris sed sodales . In id quam mauris . Integer bibendum lacinia mauris ac consectetur . Integer vitae volutpat sapien , eu vestibulum libero . Suspendisse vel ante tortor .
Curabitur tempus odio nunc , et rhoncus est laoreet vitae . Vestibulum a ipsum efficitur , ullamcorper nulla sit amet , consectetur lorem . Donec in accumsan ex . Mauris ac scelerisque velit , a rhoncus purus . Pellentesque aliquet , erat nec malesuada sollicitudin , massa nibh pretium orci , vel blandit orci mi nec nunc . Morbi luctus placerat sem , et ornare eros feugiat nec . Fusce aliquam justo eu ipsum ullamcorper , vitae vestibulum tellus mattis .
Praesent iaculis congue venenatis . Aenean placerat pellentesque tempus . Praesent ornare , odio id feugiat dapibus , metus tortor pulvinar augue , nec ultrices lectus nulla at risus . Suspendisse condimentum feugiat nibh . Mauris eget neque ac eros porttitor mollis ut non nisl . Fusce dictum magna pretium , hendrerit magna tempus , rutrum elit . Vestibulum gravida vulputate leo , in consequat quam sagittis id .
Generated 50 paragraphs , 4331 words , 29263 bytes of Lorem Ipsum
help @ lipsum . com
Privacy Policy ·
''' );
} catch ( e ) {
} catch ( e ) {
expect ( e . runtimeType , EventTooLarge ) ;
expect ( e . runtimeType , EventTooLarge ) ;
expect ( room . lastEvent ? . eventId , ' event_too_large ' ) ;
expect ( room . lastEvent ? . status , EventStatus . error ) ;
roomFromDB = await matrix . database ? . getSingleRoom ( matrix , room . id ) ;
expect ( roomFromDB ? . lastEvent ? . eventId , ' event_too_large ' ) ;
/ / force null because except would have caught it anyway
await room . lastEvent ? . cancelSend ( ) ;
}
}
/ / work in postLoaded room
expect ( room . lastEvent ? . eventId , ' event_too_large ' ) ;
expect (
await room . lastEvent ? . calcLocalizedBody ( MatrixDefaultLocalizations ( ) ) ,
' Cancelled sending message ' ) ;
/ / check if persisted in db
final lastEventFromDB =
await matrix . database ? . getEventById ( ' event_too_large ' , room ) ;
/ / null here because cancelSend removes event .
expect ( lastEventFromDB , null ) ;
roomFromDB = await matrix . database ? . getSingleRoom ( matrix , room . id ) ;
expect ( roomFromDB ? . partial , true ) ;
expect ( roomFromDB ? . lastEvent ? . eventId , ' event_too_large ' ) ;
expect (
await room . lastEvent ? . calcLocalizedBody ( MatrixDefaultLocalizations ( ) ) ,
' Cancelled sending message ' ) ;
roomFromDB = await matrix . database ? . getSingleRoom ( matrix , room . id ) ;
await roomFromDB ? . postLoad ( ) ;
expect ( roomFromDB ? . partial , false ) ;
expect ( roomFromDB ? . lastEvent ? . eventId , ' event_too_large ' ) ;
expect (
await room . lastEvent ? . calcLocalizedBody ( MatrixDefaultLocalizations ( ) ) ,
' Cancelled sending message ' ) ;
} ) ;
} ) ;
test ( ' logout ' , ( ) async {
test ( ' logout ' , ( ) async {