mirror of
https://github.com/status-im/react-native.git
synced 2025-02-12 01:16:46 +00:00
Summary: Adds unit tests to the Native Animated implementation on iOS. This pretty much mirrors the tests we currently have on Android. It also fixes 2 bugs I've found when adding the tests and pass the current time in `stepAnimation` instead of using `CACurrentMediaTime` to make testing easier. - `stopListeningToAnimatedNodeValue` did not actually work at all, it should set the listener to nil. - The finished value in the animation end callback was always true, this simplifies the `RCTAnimationDriver` interface to get rid of `removeAnimation` and fixes the end callback value. **Test plan** - Run the tests - Make sure the UIExplorer example still works Closes https://github.com/facebook/react-native/pull/13068 Differential Revision: D4786701 Pulled By: javache fbshipit-source-id: a4f07e6eec1f363ca47b6f27984041793c915bfc
38 lines
1.1 KiB
Objective-C
38 lines
1.1 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-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 <CoreGraphics/CoreGraphics.h>
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import <React/RCTBridgeModule.h>
|
|
|
|
@class RCTValueAnimatedNode;
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@protocol RCTAnimationDriver <NSObject>
|
|
|
|
@property (nonatomic, readonly) NSNumber *animationId;
|
|
@property (nonatomic, readonly) RCTValueAnimatedNode *valueNode;
|
|
@property (nonatomic, readonly) BOOL animationHasBegun;
|
|
@property (nonatomic, readonly) BOOL animationHasFinished;
|
|
|
|
- (instancetype)initWithId:(NSNumber *)animationId
|
|
config:(NSDictionary *)config
|
|
forNode:(RCTValueAnimatedNode *)valueNode
|
|
callBack:(nullable RCTResponseSenderBlock)callback;
|
|
|
|
- (void)startAnimation;
|
|
- (void)stepAnimationWithTime:(NSTimeInterval)currentTime;
|
|
- (void)stopAnimation;
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|
|
@end
|