// // ASLayoutSpecSnapshotTestsHelper.mm // Texture // // Copyright (c) Facebook, Inc. and its affiliates. All rights reserved. // Changes after 4/13/2017 are: Copyright (c) Pinterest, Inc. All rights reserved. // Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0 // #import "ASLayoutSpecSnapshotTestsHelper.h" #import #import #import #import @interface ASTestNode : ASDisplayNode @property (nonatomic, nullable) ASLayoutSpec *layoutSpecUnderTest; @end @implementation ASLayoutSpecSnapshotTestCase - (void)setUp { [super setUp]; self.recordMode = NO; } - (void)testLayoutSpec:(ASLayoutSpec *)layoutSpec sizeRange:(ASSizeRange)sizeRange subnodes:(NSArray *)subnodes identifier:(NSString *)identifier { ASTestNode *node = [[ASTestNode alloc] init]; for (ASDisplayNode *subnode in subnodes) { [node addSubnode:subnode]; } node.layoutSpecUnderTest = layoutSpec; ASDisplayNodeSizeToFitSizeRange(node, sizeRange); ASSnapshotVerifyNode(node, identifier); } @end @implementation ASTestNode - (instancetype)init { if (self = [super init]) { self.layerBacked = YES; } return self; } - (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize { return _layoutSpecUnderTest; } @end