ComponentKitTests/CKAnimationSpy.h (27 lines of code) (raw):

/* * 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. * */ #ifndef CKAnimationSpy_h #define CKAnimationSpy_h struct CKAnimationSpy { auto makeAnimation() { return CKComponentAnimation({ .willRemount = ^{ willRemountWasCalled = true; return willRemountCtx; }, .didRemount = ^(id context){ actualWillRemountCtx = context; return didRemountCtx; }, .cleanup = ^(id context){ cleanupCallCount++; actualDidRemountCtx = context; }, }); } const id willRemountCtx = [NSObject new]; id actualWillRemountCtx = nil; bool willRemountWasCalled = false; const id didRemountCtx = [NSObject new]; id actualDidRemountCtx = nil; int cleanupCallCount = 0; }; #endif /* CKAnimationSpy_h */