Fixed an issue where Appium couldn't long press message bubbles
This commit is contained in:
parent
2f8ac7deaf
commit
2bcc049405
|
@ -1,6 +1,7 @@
|
|||
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
||||
|
||||
import UIKit
|
||||
import SessionUIKit
|
||||
import SignalUtilitiesKit
|
||||
import SessionUtilitiesKit
|
||||
import SessionMessagingKit
|
||||
|
@ -771,12 +772,18 @@ final class VisibleMessageCell: MessageCell, TappableLabelDelegate {
|
|||
// MARK: - Interaction
|
||||
|
||||
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
|
||||
if let bodyTappableLabel = bodyTappableLabel {
|
||||
let btIngetBodyTappableLabelCoordinates = convert(point, to: bodyTappableLabel)
|
||||
// We are currently using Appium to do automated UI testing, unfortunately it seems to run into
|
||||
// issues when trying to long-press an element which has custom interaction logic - the TappableLabel
|
||||
// only needs to custom handle touches for interacting with links so we check to see if it contains
|
||||
// links before forwarding touches to it
|
||||
if let bodyTappableLabel: TappableLabel = bodyTappableLabel, bodyTappableLabel.containsLinks {
|
||||
let btIngetBodyTappableLabelCoordinates: CGPoint = convert(point, to: bodyTappableLabel)
|
||||
|
||||
if bodyTappableLabel.bounds.contains(btIngetBodyTappableLabelCoordinates) {
|
||||
return bodyTappableLabel
|
||||
}
|
||||
}
|
||||
|
||||
return super.hitTest(point, with: event)
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,10 @@ public class TappableLabel: UILabel {
|
|||
}
|
||||
}
|
||||
|
||||
public var containsLinks: Bool {
|
||||
return !links.isEmpty
|
||||
}
|
||||
|
||||
// MARK: - Initialization
|
||||
|
||||
public override init(frame: CGRect) {
|
||||
|
|
Loading…
Reference in New Issue