diff --git a/Package.resolved b/Package.resolved index 4e09ffa..08167ef 100644 --- a/Package.resolved +++ b/Package.resolved @@ -6,8 +6,8 @@ "repositoryURL": "https://github.com/facebook/yoga.git", "state": { "branch": null, - "revision": "042f5013152eb81c1552dec945b88f7b95ca350f", - "version": "3.2.1" + "revision": "8e31207cf5d5e6bd9ec06b55a5a5b2d492dde2d9", + "version": "3.2.2" } } ] diff --git a/Package.swift b/Package.swift index 195db8d..f304d24 100644 --- a/Package.swift +++ b/Package.swift @@ -13,7 +13,7 @@ let package = Package( .library(name: "FlexLayout-Dynamic", type: .dynamic, targets: ["FlexLayout"]), ], dependencies: [ - .package(url: "https://github.com/facebook/yoga.git", .upToNextMinor(from: "3.2.1")), + .package(url: "https://github.com/facebook/yoga.git", .upToNextMinor(from: "3.2.2")), ], targets: [ .target( diff --git a/Tests/FlexLayoutTests/TextTruncationTests.swift b/Tests/FlexLayoutTests/TextTruncationTests.swift new file mode 100644 index 0000000..dc90cd8 --- /dev/null +++ b/Tests/FlexLayoutTests/TextTruncationTests.swift @@ -0,0 +1,27 @@ +import FlexLayout +import Testing +import UIKit + +@MainActor +struct TextTruncationTests { + @Test + func layoutPreservesLabelWidthAfterIntrinsicMeasurement() { + let container = UIView(frame: CGRect(x: 0, y: 0, width: 393, height: 44)) + let descriptionLabel = UILabel() + descriptionLabel.text = "Balance" + descriptionLabel.font = .systemFont(ofSize: 17) + let amountLabel = UILabel() + amountLabel.text = "$36.50" + amountLabel.font = .systemFont(ofSize: 17) + + container.flex.addItem().direction(.row).justifyContent(.spaceBetween).define { flex in + flex.addItem(descriptionLabel) + flex.addItem().addItem(amountLabel) + } + + _ = container.flex.intrinsicSize + container.flex.layout() + + #expect(amountLabel.frame.width >= amountLabel.intrinsicContentSize.width) + } +}