From 021f5ebdbbe61c76f996e456de85fafabb163138 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Thu, 27 Oct 2016 16:27:09 -0700 Subject: [PATCH] Add initial snapshot tests for ASWrapperSpec (#2482) --- AsyncDisplayKit.xcodeproj/project.pbxproj | 4 ++ .../ASWrapperSpecSnapshotTests.mm | 60 ++++++++++++++++++ ...eElementsShouldSizeToLargestElement@2x.png | Bin 0 -> 1460 bytes ...ecWithOneElementShouldSizeToElement@2x.png | Bin 0 -> 526 bytes 4 files changed, 64 insertions(+) create mode 100644 AsyncDisplayKitTests/ASWrapperSpecSnapshotTests.mm create mode 100644 AsyncDisplayKitTests/ReferenceImages_64/ASWrapperSpecSnapshotTests/testWrapperSpecWithMultipleElementsShouldSizeToLargestElement@2x.png create mode 100644 AsyncDisplayKitTests/ReferenceImages_64/ASWrapperSpecSnapshotTests/testWrapperSpecWithOneElementShouldSizeToElement@2x.png diff --git a/AsyncDisplayKit.xcodeproj/project.pbxproj b/AsyncDisplayKit.xcodeproj/project.pbxproj index 7d308871c3..4fb31a5c15 100644 --- a/AsyncDisplayKit.xcodeproj/project.pbxproj +++ b/AsyncDisplayKit.xcodeproj/project.pbxproj @@ -199,6 +199,7 @@ 6959433E1D70815300B0EE1F /* ASDisplayNodeLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6959433C1D70815300B0EE1F /* ASDisplayNodeLayout.mm */; }; 6959433F1D70815300B0EE1F /* ASDisplayNodeLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6959433C1D70815300B0EE1F /* ASDisplayNodeLayout.mm */; }; 695943401D70815300B0EE1F /* ASDisplayNodeLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 6959433D1D70815300B0EE1F /* ASDisplayNodeLayout.h */; }; + 695BE2551DC1245C008E6EA5 /* ASWrapperSpecSnapshotTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 695BE2541DC1245C008E6EA5 /* ASWrapperSpecSnapshotTests.mm */; }; 696FCB311D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 696FCB301D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm */; }; 69708BA61D76386D005C3CF9 /* ASEqualityHashHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 69708BA41D76386D005C3CF9 /* ASEqualityHashHelpers.h */; }; 69708BA71D76386D005C3CF9 /* ASEqualityHashHelpers.mm in Sources */ = {isa = PBXBuildFile; fileRef = 69708BA51D76386D005C3CF9 /* ASEqualityHashHelpers.mm */; }; @@ -980,6 +981,7 @@ 68FC85E81CE29C7D00EDD713 /* ASVisibilityProtocols.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASVisibilityProtocols.m; sourceTree = ""; }; 6959433C1D70815300B0EE1F /* ASDisplayNodeLayout.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASDisplayNodeLayout.mm; sourceTree = ""; }; 6959433D1D70815300B0EE1F /* ASDisplayNodeLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASDisplayNodeLayout.h; sourceTree = ""; }; + 695BE2541DC1245C008E6EA5 /* ASWrapperSpecSnapshotTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASWrapperSpecSnapshotTests.mm; sourceTree = ""; }; 696FCB301D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASBackgroundLayoutSpecSnapshotTests.mm; sourceTree = ""; }; 69708BA41D76386D005C3CF9 /* ASEqualityHashHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASEqualityHashHelpers.h; path = TextKit/ASEqualityHashHelpers.h; sourceTree = ""; }; 69708BA51D76386D005C3CF9 /* ASEqualityHashHelpers.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ASEqualityHashHelpers.mm; path = TextKit/ASEqualityHashHelpers.mm; sourceTree = ""; }; @@ -1429,6 +1431,7 @@ 052EE06A1A15A0D8002C6279 /* TestResources */, 2538B6F21BC5D2A2003CA0B4 /* ASCollectionViewFlowLayoutInspectorTests.m */, 69FEE53C1D95A9AF0086F066 /* ASLayoutElementStyleTests.m */, + 695BE2541DC1245C008E6EA5 /* ASWrapperSpecSnapshotTests.mm */, ); path = AsyncDisplayKitTests; sourceTree = ""; @@ -2259,6 +2262,7 @@ CC3B208E1C3F7D0A00798563 /* ASWeakSetTests.m in Sources */, F711994E1D20C21100568860 /* ASDisplayNodeExtrasTests.m in Sources */, ACF6ED5D1B178DC700DA7C62 /* ASDimensionTests.mm in Sources */, + 695BE2551DC1245C008E6EA5 /* ASWrapperSpecSnapshotTests.mm in Sources */, CCA221D31D6FA7EF00AF6A0F /* ASViewControllerTests.m in Sources */, 058D0A38195D057000B7D73C /* ASDisplayLayerTests.m in Sources */, 2538B6F31BC5D2A2003CA0B4 /* ASCollectionViewFlowLayoutInspectorTests.m in Sources */, diff --git a/AsyncDisplayKitTests/ASWrapperSpecSnapshotTests.mm b/AsyncDisplayKitTests/ASWrapperSpecSnapshotTests.mm new file mode 100644 index 0000000000..d28b8b0fe2 --- /dev/null +++ b/AsyncDisplayKitTests/ASWrapperSpecSnapshotTests.mm @@ -0,0 +1,60 @@ +// +// ASWrapperSpecSnapshotTests.mm +// AsyncDisplayKit +// +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// This source code is licensed under the BSD-style license found in the +// LICENSE file in the root directory of this source tree. An additional grant +// of patent rights can be found in the PATENTS file in the same directory. +// + + +#import "ASLayoutSpecSnapshotTestsHelper.h" +#import "ASBackgroundLayoutSpec.h" + +@interface ASWrapperSpecSnapshotTests : ASLayoutSpecSnapshotTestCase +@end + +@implementation ASWrapperSpecSnapshotTests + +- (void)setUp +{ + [super setUp]; + + self.recordMode = NO; +} + +- (void)testWrapperSpecWithOneElementShouldSizeToElement +{ + ASDisplayNode *child = ASDisplayNodeWithBackgroundColor([UIColor redColor], {50, 50}); + + ASSizeRange sizeRange = ASSizeRangeMake(CGSizeZero, CGSizeMake(INFINITY, INFINITY)); + [self testWithChildren:@[child] sizeRange:sizeRange identifier:nil]; +} + +- (void)testWrapperSpecWithMultipleElementsShouldSizeToLargestElement +{ + ASDisplayNode *firstChild = ASDisplayNodeWithBackgroundColor([UIColor redColor], {50, 50}); + ASDisplayNode *secondChild = ASDisplayNodeWithBackgroundColor([UIColor greenColor], {100, 100}); + + ASSizeRange sizeRange = ASSizeRangeMake(CGSizeZero, CGSizeMake(INFINITY, INFINITY)); + [self testWithChildren:@[secondChild, firstChild] sizeRange:sizeRange identifier:nil]; +} + +- (void)testWithChildren:(NSArray *)children sizeRange:(ASSizeRange)sizeRange identifier:(NSString *)identifier +{ + ASDisplayNode *backgroundNode = ASDisplayNodeWithBackgroundColor([UIColor whiteColor]); + + NSMutableArray *subnodes = [NSMutableArray arrayWithArray:children]; + [subnodes insertObject:backgroundNode atIndex:0]; + + ASLayoutSpec *layoutSpec = + [ASBackgroundLayoutSpec backgroundLayoutSpecWithChild: + [ASWrapperLayoutSpec + wrapperWithLayoutElements:children] + background:backgroundNode]; + + [self testLayoutSpec:layoutSpec sizeRange:sizeRange subnodes:subnodes identifier:identifier]; +} + +@end diff --git a/AsyncDisplayKitTests/ReferenceImages_64/ASWrapperSpecSnapshotTests/testWrapperSpecWithMultipleElementsShouldSizeToLargestElement@2x.png b/AsyncDisplayKitTests/ReferenceImages_64/ASWrapperSpecSnapshotTests/testWrapperSpecWithMultipleElementsShouldSizeToLargestElement@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e34eef76c7c3d2c2cb5c6387ad5756ff0ab4c682 GIT binary patch literal 1460 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>;VkfoEM{O3 zQw3p0&mff#KtY*I7yl3-%>=|CkOIUSP#VZ)Hq~|x6a>_0%0XTR10JT0Z}yj1 zIp#G++5C)bnkmY};@7y@K!%B>jHiX6QJ~{gy?{c30t-irL&&{m21aH@2L+ZzpX69L zBsdtE6a}V!S8zDsz#+iVxMB}GBNLlbg9C@lQ(F!J0|6!$Ck3tdjtvcs0ty05ftCDB lEKnn>M~xiZVfiEO0b`wignp|vd$@?2>|1OuRZ_( literal 0 HcmV?d00001 diff --git a/AsyncDisplayKitTests/ReferenceImages_64/ASWrapperSpecSnapshotTests/testWrapperSpecWithOneElementShouldSizeToElement@2x.png b/AsyncDisplayKitTests/ReferenceImages_64/ASWrapperSpecSnapshotTests/testWrapperSpecWithOneElementShouldSizeToElement@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d63856e6ec17b934022ffbb0b9e254e6bfbe9b78 GIT binary patch literal 526 zcmeAS@N?(olHy`uVBq!ia0vp^DImHB6fKg`&kUr??;uuoF_~z;rk`?U40~SN^q>ua=g* QK%X#py85}Sb4q9e0KaFr)Bpeg literal 0 HcmV?d00001