Skip to content

Commit

Permalink
better and less convoluted solution
Browse files Browse the repository at this point in the history
  • Loading branch information
Velin92 committed Jun 8, 2023
1 parent b992098 commit 49d6f23
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 13 deletions.
4 changes: 2 additions & 2 deletions ElementX/Sources/Other/Extensions/String.swift
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ extension String {
var whiteSpaces: String
switch layoutDirection {
case .leftToRight:
whiteSpaces = "\u{200e}\u{200e}"
whiteSpaces = "\u{2066}"
case .rightToLeft:
whiteSpaces = "\u{200f}\u{202e}"
whiteSpaces = "\u{2067}"
default:
whiteSpaces = ""
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,17 @@ struct TimelineItemStyler_Previews: PreviewProvider {
return result
}()

static let ltrString = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "Test"))
static let ltrString = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "house!"))

static let rtlString = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "באמת"))
static let rtlString = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "באמת!"))

static let ltrStringThatContainsRtl = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "house -- באמת‏ -- house."))
static let ltrStringThatContainsRtl = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "house! -- באמת‏! -- house!"))

static let rtlStringThatContainsLtr = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "באמת‏ -- house -- באמת"))
static let rtlStringThatContainsLtr = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "באמת‏! -- house! -- באמת!"))

static let ltrStringThatFinishesInRtl = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "house -- באמת"))
static let ltrStringThatFinishesInRtl = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "house! -- באמת!"))

static let rtlStringThatFinishesInLtr = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "באמת‏ -- house"))
static let rtlStringThatFinishesInLtr = TextRoomTimelineItem(id: UUID().uuidString, timestamp: "Now", isOutgoing: true, isEditable: false, sender: .init(id: UUID().uuidString), content: .init(body: "באמת‏! -- house!"))

static var testView: some View {
VStack {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ struct FormattedBodyText: View {
private var layoutPrefix: AttributedString {
switch layoutDirection {
case .leftToRight:
return "\u{200e}"
return "\u{2066}"
case .rightToLeft:
return "\u{200f}"
return "\u{2067}"
default:
return ""
}
Expand Down
6 changes: 3 additions & 3 deletions UnitTests/Sources/StringTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -61,19 +61,19 @@ class StringTests: XCTestCase {

func testGenerateBreakableWhitespaceEnd() {
var count = 5
var result = "\u{200e}\u{200e}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
var result = "\u{2066}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, layoutDirection: .leftToRight), result)

count = 3
result = "\u{200e}\u{200e}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
result = "\u{2066}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, layoutDirection: .leftToRight), result)

count = 0
result = ""
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, layoutDirection: .leftToRight), result)

count = 4
result = "\u{200f}\u{202e}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
result = "\u{2067}" + String(repeating: "\u{2004}", count: count) + "\u{2800}"
XCTAssertEqual(String.generateBreakableWhitespaceEnd(whitespaceCount: count, layoutDirection: .rightToLeft), result)

count = 0
Expand Down

0 comments on commit 49d6f23

Please sign in to comment.