From eb6cf0689d08fd39fac6a50819b2673f93d07f39 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Wed, 26 Oct 2016 17:17:09 -0700 Subject: [PATCH] Only throw if ASLayoutElement style width or height are ASDimensionUnitFraction (#2484) --- AsyncDisplayKit/Layout/ASLayoutElement.mm | 4 ++-- AsyncDisplayKitTests/ASLayoutElementStyleTests.m | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/AsyncDisplayKit/Layout/ASLayoutElement.mm b/AsyncDisplayKit/Layout/ASLayoutElement.mm index affa57314b..cad4cee86b 100644 --- a/AsyncDisplayKit/Layout/ASLayoutElement.mm +++ b/AsyncDisplayKit/Layout/ASLayoutElement.mm @@ -257,12 +257,12 @@ do {\ - (CGSize)preferredSize { ASDN::MutexLocker l(__instanceLock__); - if (_size.width.unit != ASDimensionUnitPoints) { + if (_size.width.unit == ASDimensionUnitFraction) { NSCAssert(NO, @"Cannot get preferredSize of element with fractional width. Width: %@.", NSStringFromASDimension(_size.width)); return CGSizeZero; } - if (_size.height.unit != ASDimensionUnitPoints) { + if (_size.height.unit == ASDimensionUnitFraction) { NSCAssert(NO, @"Cannot get preferredSize of element with fractional height. Height: %@.", NSStringFromASDimension(_size.height)); return CGSizeZero; } diff --git a/AsyncDisplayKitTests/ASLayoutElementStyleTests.m b/AsyncDisplayKitTests/ASLayoutElementStyleTests.m index e2551f6cfd..5a7e7cbe8b 100644 --- a/AsyncDisplayKitTests/ASLayoutElementStyleTests.m +++ b/AsyncDisplayKitTests/ASLayoutElementStyleTests.m @@ -58,6 +58,8 @@ { ASLayoutElementStyle *style = [ASLayoutElementStyle new]; + ASXCTAssertEqualSizes(style.preferredSize, CGSizeZero); + CGSize size = CGSizeMake(100, 100); style.preferredSize = size; @@ -78,7 +80,7 @@ { ASLayoutElementStyle *style = [ASLayoutElementStyle new]; - XCTAssertThrows(style.preferredSize); + XCTAssertNoThrow(style.preferredSize); style.width = ASDimensionMake(ASDimensionUnitFraction, 0.5); XCTAssertThrows(style.preferredSize);