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);