@onekeyfe/react-native-pager-view 6.7.0-alpha.415 → 6.7.0-alpha.418
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -583,12 +583,34 @@ using namespace facebook::react;
|
|
|
583
583
|
XCTAssertEqualObjects([pager valueForKey:@"currentIndex"], @0);
|
|
584
584
|
}
|
|
585
585
|
__block RNCNativeScrollerComponentView *replacement;
|
|
586
|
+
__block BOOL replacementFixtureActive = YES;
|
|
586
587
|
int64_t replacementDelay = finalRetryPending ? 150 : 50;
|
|
587
|
-
|
|
588
|
+
dispatch_block_t insertReplacement = dispatch_block_create((dispatch_block_flags_t)0, ^{
|
|
589
|
+
if (!replacementFixtureActive) return;
|
|
588
590
|
replacement = [self addScrollerToPager:pager atIndex:0];
|
|
589
591
|
[replacementHost addSubview:replacement];
|
|
590
592
|
});
|
|
591
|
-
|
|
593
|
+
// LIFO teardown invalidates this callback before the pager clears its pages.
|
|
594
|
+
[self addTeardownBlock:^{
|
|
595
|
+
replacementFixtureActive = NO;
|
|
596
|
+
dispatch_block_cancel(insertReplacement);
|
|
597
|
+
}];
|
|
598
|
+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, replacementDelay * NSEC_PER_MSEC),
|
|
599
|
+
dispatch_get_main_queue(), insertReplacement);
|
|
600
|
+
NSPredicate *hasReplacementOwners = [NSPredicate predicateWithBlock:
|
|
601
|
+
^BOOL(__unused id object, __unused NSDictionary *bindings) {
|
|
602
|
+
return replacement != nil &&
|
|
603
|
+
[pager valueForKey:@"observedScrollView"] == replacement.scrollView &&
|
|
604
|
+
[pager valueForKey:@"sharedHeaderScrollView"] == replacement.scrollView;
|
|
605
|
+
}];
|
|
606
|
+
XCTNSPredicateExpectation *replacementReady =
|
|
607
|
+
[[XCTNSPredicateExpectation alloc] initWithPredicate:hasReplacementOwners object:nil];
|
|
608
|
+
XCTWaiterResult result = [XCTWaiter waitForExpectations:@[replacementReady] timeout:5];
|
|
609
|
+
replacementFixtureActive = NO;
|
|
610
|
+
dispatch_block_cancel(insertReplacement);
|
|
611
|
+
XCTAssertEqual(result, XCTWaiterResultCompleted);
|
|
612
|
+
XCTAssertNotNil(replacement);
|
|
613
|
+
if (result != XCTWaiterResultCompleted || replacement == nil) return;
|
|
592
614
|
XCTAssertEqual([pager valueForKey:@"observedScrollView"], replacement.scrollView);
|
|
593
615
|
XCTAssertEqual([pager valueForKey:@"sharedHeaderScrollView"], replacement.scrollView);
|
|
594
616
|
XCTAssertEqualWithAccuracy(replacement.scrollView.contentOffset.y + replacement.scrollView.contentInset.top,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/react-native-pager-view",
|
|
3
|
-
"version": "6.7.0-alpha.
|
|
3
|
+
"version": "6.7.0-alpha.418",
|
|
4
4
|
"description": "React Native wrapper for Android and iOS ViewPager",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/module/index.js",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"typescript": "^5.9.2"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@onekeyfe/react-native-native-logger": "6.7.0-alpha.
|
|
77
|
+
"@onekeyfe/react-native-native-logger": "6.7.0-alpha.418",
|
|
78
78
|
"react": "*",
|
|
79
79
|
"react-native": "*"
|
|
80
80
|
},
|