Inlined Timestamp in bubble style for messages that have a bubble (#947)

* web-like solution

* not super polished but working implementation

* polishing the spacing and sizes

* removing unused code

* code improvements

* adding a test case in the preview for RTL

* addressing some PR comments

* added some tests and polished the code

* better naming

* code improvement

* RTL fix

* Revert "RTL fix"

This reverts commit 14e4468a5358769daa57891f4991e9e32da1c985.

* better RTL fix

* updated UI tests

* separated some files

* addressed some PR comments

* some more tests
This commit is contained in:
Mauro
2023-05-25 12:13:45 +02:00
committed by GitHub
parent 6b13c52cd0
commit c59921103d
44 changed files with 468 additions and 152 deletions
+22
View File
@@ -58,4 +58,26 @@ class StringTests: XCTestCase {
func testStripsTheHeartbreakHotel() {
XCTAssertEqual("Heartbreak Hotel 🏩".asciified(), "Heartbreak Hotel")
}
func testGenerateBreakableWhitespaceEnd() {
var count = 5
var result = String(repeating: "\u{2004}", count: count) + "\u{2800}"
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, isRTL: false), result)
count = 3
result = String(repeating: "\u{2004}", count: count) + "\u{2800}"
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, isRTL: false), result)
count = 0
result = ""
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, isRTL: false), result)
count = 4
result = "\u{202e}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, isRTL: true), result)
count = 0
result = ""
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, isRTL: true), result)
}
}