@@ -238,7 +238,11 @@ describe("Timeline", () => {
238
238
} ) ;
239
239
} ) ;
240
240
241
- it ( "should click top left of view source event toggle" , ( ) => {
241
+ it ( "should click view source event toggle" , ( ) => {
242
+ // This test checks:
243
+ // 1. clickability of top left of view source event toggle
244
+ // 2. clickability of view source toggle on IRC layout
245
+
242
246
sendEvent ( roomId ) ;
243
247
cy . visit ( "/#/room/" + roomId ) ;
244
248
cy . setSettingValue ( "showHiddenEventsInTimeline" , null , SettingLevel . DEVICE , true ) ;
@@ -254,16 +258,52 @@ describe("Timeline", () => {
254
258
} ) ;
255
259
cy . contains ( ".mx_RoomView_body .mx_EventTile[data-scroll-tokens]" , "MessageEdit" ) . should ( "exist" ) ;
256
260
261
+ // 1. clickability of top left of view source event toggle
262
+
257
263
// Click top left of the event toggle, which should not be covered by MessageActionBar's safe area
258
- cy . get ( ".mx_EventTile:not(:first-child) .mx_ViewSourceEvent" )
264
+ cy . get ( ".mx_EventTile_last[data-layout=group] .mx_ViewSourceEvent" )
265
+ . should ( "exist" )
266
+ . realHover ( )
267
+ . within ( ( ) => {
268
+ cy . get ( ".mx_ViewSourceEvent_toggle" ) . click ( "topLeft" , { force : false } ) ;
269
+ } ) ;
270
+
271
+ // Make sure the expand toggle worked
272
+ cy . get ( ".mx_EventTile .mx_ViewSourceEvent_expanded" ) . should ( "be.visible" ) ;
273
+
274
+ // Click again to collapse the source
275
+ cy . get ( ".mx_EventTile_last[data-layout=group] .mx_ViewSourceEvent" )
276
+ . should ( "exist" )
277
+ . realHover ( )
278
+ . within ( ( ) => {
279
+ cy . get ( ".mx_ViewSourceEvent_toggle" ) . click ( "topLeft" , { force : false } ) ;
280
+ } ) ;
281
+ cy . get ( ".mx_EventTile .mx_ViewSourceEvent_expanded" ) . should ( "not.exist" ) ;
282
+
283
+ // 2. clickability of view source toggle on IRC layout
284
+
285
+ // Enable IRC layout
286
+ cy . setSettingValue ( "layout" , null , SettingLevel . DEVICE , Layout . IRC ) ;
287
+
288
+ // Exclude timestamp from snapshot
289
+ const percyCSS = ".mx_MessageTimestamp { visibility: hidden !important; }" ;
290
+
291
+ // Hover the view source toggle on IRC layout
292
+ cy . get ( ".mx_GenericEventListSummary[data-layout=irc] .mx_EventTile .mx_ViewSourceEvent" )
293
+ . should ( "exist" )
294
+ . realHover ( )
295
+ . percySnapshotElement ( "Hovered hidden event line on IRC layout" , { percyCSS } ) ;
296
+
297
+ // Click view source event toggle
298
+ cy . get ( ".mx_GenericEventListSummary[data-layout=irc] .mx_EventTile .mx_ViewSourceEvent" )
259
299
. should ( "exist" )
260
300
. realHover ( )
261
301
. within ( ( ) => {
262
302
cy . get ( ".mx_ViewSourceEvent_toggle" ) . click ( "topLeft" , { force : false } ) ;
263
303
} ) ;
264
304
265
305
// Make sure the expand toggle worked
266
- cy . get ( ".mx_EventTile .mx_ViewSourceEvent_expanded .mx_ViewSourceEvent_toggle " ) . should ( "be.visible" ) ;
306
+ cy . get ( ".mx_EventTile[data-layout=irc] .mx_ViewSourceEvent_expanded" ) . should ( "be.visible" ) ;
267
307
} ) ;
268
308
269
309
it ( "should click 'collapse' link button on the first hovered info event line on bubble layout" , ( ) => {
0 commit comments