From 47d84aa7fedf0c6c09c456c21d8323e4e6400ca1 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Thu, 25 Aug 2016 21:18:52 -0700 Subject: [PATCH] Add snapshot test for ASBackgroundLayoutSpec (#2131) --- AsyncDisplayKit.xcodeproj/project.pbxproj | 4 ++ .../ASBackgroundLayoutSpecSnapshotTests.mm | 42 ++++++++++++++++++ .../testBackground@2x.png | Bin 0 -> 10544 bytes .../testBackground@3x.png | Bin 0 -> 21094 bytes 4 files changed, 46 insertions(+) create mode 100644 AsyncDisplayKitTests/ASBackgroundLayoutSpecSnapshotTests.mm create mode 100644 AsyncDisplayKitTests/ReferenceImages_64/ASBackgroundLayoutSpecSnapshotTests/testBackground@2x.png create mode 100644 AsyncDisplayKitTests/ReferenceImages_64/ASBackgroundLayoutSpecSnapshotTests/testBackground@3x.png diff --git a/AsyncDisplayKit.xcodeproj/project.pbxproj b/AsyncDisplayKit.xcodeproj/project.pbxproj index ac58f4a2f1..e977efd98a 100644 --- a/AsyncDisplayKit.xcodeproj/project.pbxproj +++ b/AsyncDisplayKit.xcodeproj/project.pbxproj @@ -201,6 +201,7 @@ 68FC85EA1CE29C7D00EDD713 /* ASVisibilityProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 68FC85E71CE29C7D00EDD713 /* ASVisibilityProtocols.h */; settings = {ATTRIBUTES = (Public, ); }; }; 68FC85EB1CE29C7D00EDD713 /* ASVisibilityProtocols.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FC85E81CE29C7D00EDD713 /* ASVisibilityProtocols.m */; }; 68FC85EC1CE29C7D00EDD713 /* ASVisibilityProtocols.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FC85E81CE29C7D00EDD713 /* ASVisibilityProtocols.m */; }; + 696FCB311D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 696FCB301D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm */; }; 697B315A1CFE4B410049936F /* ASEditableTextNodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 697B31591CFE4B410049936F /* ASEditableTextNodeTests.m */; }; 697C0DE41CF38F28001DE0D4 /* ASLayoutValidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 697C0DE11CF38F28001DE0D4 /* ASLayoutValidation.h */; }; 697C0DE51CF38F28001DE0D4 /* ASLayoutValidation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 697C0DE21CF38F28001DE0D4 /* ASLayoutValidation.mm */; }; @@ -960,6 +961,7 @@ 68FC85E11CE29B7E00EDD713 /* ASTabBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASTabBarController.m; sourceTree = ""; }; 68FC85E71CE29C7D00EDD713 /* ASVisibilityProtocols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASVisibilityProtocols.h; sourceTree = ""; }; 68FC85E81CE29C7D00EDD713 /* ASVisibilityProtocols.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASVisibilityProtocols.m; sourceTree = ""; }; + 696FCB301D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ASBackgroundLayoutSpecSnapshotTests.mm; sourceTree = ""; }; 697B31591CFE4B410049936F /* ASEditableTextNodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASEditableTextNodeTests.m; sourceTree = ""; }; 697C0DE11CF38F28001DE0D4 /* ASLayoutValidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASLayoutValidation.h; path = AsyncDisplayKit/Layout/ASLayoutValidation.h; sourceTree = ""; }; 697C0DE21CF38F28001DE0D4 /* ASLayoutValidation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ASLayoutValidation.mm; path = AsyncDisplayKit/Layout/ASLayoutValidation.mm; sourceTree = ""; }; @@ -1339,6 +1341,7 @@ 7AB338681C55B97B0055FDE8 /* ASRelativeLayoutSpecSnapshotTests.mm */, ACF6ED551B178DC700DA7C62 /* ASInsetLayoutSpecSnapshotTests.mm */, ACF6ED591B178DC700DA7C62 /* ASOverlayLayoutSpecSnapshotTests.mm */, + 696FCB301D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm */, ACF6ED5A1B178DC700DA7C62 /* ASRatioLayoutSpecSnapshotTests.mm */, ACF6ED5B1B178DC700DA7C62 /* ASStackLayoutSpecSnapshotTests.mm */, AC026B571BD3F61800BBC17E /* ASStaticLayoutSpecSnapshotTests.m */, @@ -2186,6 +2189,7 @@ 058D0A39195D057000B7D73C /* ASDisplayNodeAppearanceTests.m in Sources */, CCB2F34D1D63CCC6004E6DE9 /* ASDisplayNodeSnapshotTests.m in Sources */, 058D0A3A195D057000B7D73C /* ASDisplayNodeTests.m in Sources */, + 696FCB311D6E46050093471E /* ASBackgroundLayoutSpecSnapshotTests.mm in Sources */, CC4981B31D1A02BE004E13CC /* ASTableViewThrashTests.m in Sources */, 058D0A3B195D057000B7D73C /* ASDisplayNodeTestsHelper.m in Sources */, 83A7D95E1D446A6E00BF333E /* ASWeakMapTests.m in Sources */, diff --git a/AsyncDisplayKitTests/ASBackgroundLayoutSpecSnapshotTests.mm b/AsyncDisplayKitTests/ASBackgroundLayoutSpecSnapshotTests.mm new file mode 100644 index 0000000000..54e12d98a0 --- /dev/null +++ b/AsyncDisplayKitTests/ASBackgroundLayoutSpecSnapshotTests.mm @@ -0,0 +1,42 @@ +// +// ASOverlayLayoutSpecSnapshotTests.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" +#import "ASCenterLayoutSpec.h" + +static const ASSizeRange kSize = {{320, 320}, {320, 320}}; + +@interface ASBackgroundLayoutSpecSnapshotTests : ASLayoutSpecSnapshotTestCase + +@end + +@implementation ASBackgroundLayoutSpecSnapshotTests + +- (void)testBackground +{ + ASDisplayNode *backgroundNode = ASDisplayNodeWithBackgroundColor([UIColor blueColor]); + ASStaticSizeDisplayNode *foregroundNode = ASDisplayNodeWithBackgroundColor([UIColor blackColor]); + foregroundNode.staticSize = {20, 20}; + + ASLayoutSpec *layoutSpec = + [ASBackgroundLayoutSpec + backgroundLayoutSpecWithChild: + [ASCenterLayoutSpec + centerLayoutSpecWithCenteringOptions:ASCenterLayoutSpecCenteringXY + sizingOptions:{} + child:foregroundNode] + background:backgroundNode]; + + [self testLayoutSpec:layoutSpec sizeRange:kSize subnodes:@[backgroundNode, foregroundNode] identifier: nil]; +} + +@end diff --git a/AsyncDisplayKitTests/ReferenceImages_64/ASBackgroundLayoutSpecSnapshotTests/testBackground@2x.png b/AsyncDisplayKitTests/ReferenceImages_64/ASBackgroundLayoutSpecSnapshotTests/testBackground@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..198e5394cc9ead8850024aaa582da04d261b24de GIT binary patch literal 10544 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