Pārlūkot izejas kodu

Resolve modal presentation and transition on showModal (#6019)

Yogev Ben David 5 gadus atpakaļ
vecāks
revīzija
931167e039
No account linked to committer's email address

+ 0
- 3
lib/ios/RNNBasePresenter.m Parādīt failu

@@ -4,7 +4,6 @@
4 4
 #import "RNNReactComponentRegistry.h"
5 5
 #import "UIViewController+LayoutProtocol.h"
6 6
 #import "DotIndicatorOptions.h"
7
-#import "RCTConvert+Modal.h"
8 7
 
9 8
 @implementation RNNBasePresenter
10 9
 
@@ -40,8 +39,6 @@
40 39
 - (void)applyOptionsOnInit:(RNNNavigationOptions *)initialOptions {
41 40
     UIViewController* viewController = self.boundViewController;
42 41
     RNNNavigationOptions *withDefault = [initialOptions withDefault:[self defaultOptions]];
43
-    [viewController setModalPresentationStyle:[RCTConvert UIModalPresentationStyle:[withDefault.modalPresentationStyle getWithDefaultValue:@"default"]]];
44
-    [viewController setModalTransitionStyle:[RCTConvert UIModalTransitionStyle:[withDefault.modalTransitionStyle getWithDefaultValue:@"coverVertical"]]];
45 42
     
46 43
     if (@available(iOS 13.0, *)) {
47 44
         viewController.modalInPresentation = ![withDefault.modal.swipeToDismiss getWithDefaultValue:YES];

+ 0
- 9
lib/ios/RNNComponentPresenter.m Parādīt failu

@@ -1,7 +1,6 @@
1 1
 #import "RNNComponentPresenter.h"
2 2
 #import "UIViewController+RNNOptions.h"
3 3
 #import "UITabBarController+RNNOptions.h"
4
-#import "RCTConvert+Modal.h"
5 4
 #import "RNNTitleViewHelper.h"
6 5
 #import "UIViewController+LayoutProtocol.h"
7 6
 #import "RNNReactTitleView.h"
@@ -100,14 +99,6 @@
100 99
 		[viewController setBackgroundImage:options.backgroundImage.get];
101 100
 	}
102 101
 	
103
-	if (options.modalPresentationStyle.hasValue) {
104
-		[viewController setModalPresentationStyle:[RCTConvert UIModalPresentationStyle:options.modalPresentationStyle.get]];
105
-	}
106
-	
107
-	if (options.modalTransitionStyle.hasValue) {
108
-		[viewController setModalTransitionStyle:[RCTConvert UIModalTransitionStyle:options.modalTransitionStyle.get]];
109
-	}
110
-	
111 102
 	if (options.topBar.searchBar.hasValue) {
112 103
 		BOOL hideNavBarOnFocusSearchBar = YES;
113 104
 		if (options.topBar.hideNavBarOnFocusSearchBar.hasValue) {

+ 1
- 1
lib/ios/RNNComponentViewController.h Parādīt failu

@@ -4,7 +4,7 @@
4 4
 #import "RNNNavigationOptions.h"
5 5
 #import "RNNUIBarButtonItem.h"
6 6
 #import "RNNLayoutInfo.h"
7
-#import "RNNLayoutProtocol.h"
7
+#import "UIViewController+LayoutProtocol.h"
8 8
 #import "RNNComponentPresenter.h"
9 9
 
10 10
 typedef void (^PreviewCallback)(UIViewController *vc);

+ 0
- 1
lib/ios/RNNComponentViewController.m Parādīt failu

@@ -1,5 +1,4 @@
1 1
 #import "RNNComponentViewController.h"
2
-#import "UIViewController+LayoutProtocol.h"
3 2
 
4 3
 @implementation RNNComponentViewController
5 4
 

+ 10
- 0
lib/ios/RNNConvert.h Parādīt failu

@@ -0,0 +1,10 @@
1
+#import <Foundation/Foundation.h>
2
+#import <React/RCTConvert.h>
3
+
4
+@interface RNNConvert : NSObject
5
+
6
++ (UIModalPresentationStyle)UIModalPresentationStyle:(id)json;
7
+
8
++ (UIModalTransitionStyle)UIModalTransitionStyle:(id)json;
9
+
10
+@end

lib/ios/RCTConvert+Modal.h → lib/ios/RNNConvert.m Parādīt failu

@@ -1,12 +1,6 @@
1
-#import <React/RCTConvert.h>
1
+#import "RNNConvert.h"
2 2
 
3
-@interface RCTConvert (Modal)
4
-
5
-+ (UIModalPresentationStyle)defaultModalPresentationStyle;
6
-
7
-@end
8
-
9
-@implementation RCTConvert (Modal)
3
+@implementation RNNConvert
10 4
 
11 5
 + (UIModalPresentationStyle)defaultModalPresentationStyle {
12 6
     if (@available(iOS 13.0, *)) {
@@ -33,7 +27,7 @@ RCT_ENUM_CONVERTER(UIModalPresentationStyle,
33 27
                       @"overCurrentContext": @(UIModalPresentationOverCurrentContext),
34 28
                       @"popover": @(UIModalPresentationPopover),
35 29
                       @"none": @(UIModalPresentationNone),
36
-                      @"default": @([RCTConvert defaultModalPresentationStyle])
30
+                      @"default": @([RNNConvert defaultModalPresentationStyle])
37 31
                    }), UIModalPresentationFullScreen, integerValue)
38
-@end
39 32
 
33
+@end

+ 4
- 0
lib/ios/RNNModalManager.m Parādīt failu

@@ -3,6 +3,7 @@
3 3
 #import "UIViewController+LayoutProtocol.h"
4 4
 #import "ModalTransitionDelegate.h"
5 5
 #import "ModalDismissTransitionDelegate.h"
6
+#import "RNNConvert.h"
6 7
 
7 8
 @interface RNNModalManager ()
8 9
 @property (nonatomic, strong) ModalTransitionDelegate* modalTransitionDelegate;
@@ -36,6 +37,9 @@
36 37
 	
37 38
 	UIViewController* topVC = [self topPresentedVC];
38 39
 	
40
+    viewController.modalPresentationStyle = [RNNConvert UIModalPresentationStyle:[viewController.resolveOptionsWithDefault.modalPresentationStyle getWithDefaultValue:@"default"]];
41
+    viewController.modalTransitionStyle = [RNNConvert UIModalTransitionStyle:[viewController.resolveOptionsWithDefault.modalTransitionStyle getWithDefaultValue:@"coverVertical"]];
42
+    
39 43
 	if (viewController.presentationController) {
40 44
 		viewController.presentationController.delegate = self;
41 45
 	}

+ 2
- 0
lib/ios/RNNNavigationOptions.h Parādīt failu

@@ -43,6 +43,8 @@ extern const NSInteger BLUR_TOPBAR_TAG;
43 43
 
44 44
 - (instancetype)initEmptyOptions;
45 45
 
46
++ (instancetype)emptyOptions;
47
+
46 48
 - (RNNNavigationOptions *)withDefault:(RNNNavigationOptions *)defaultOptions;
47 49
 
48 50
 - (RNNNavigationOptions *)copy;

+ 4
- 0
lib/ios/RNNNavigationOptions.m Parādīt failu

@@ -42,6 +42,10 @@
42 42
 	return self;
43 43
 }
44 44
 
45
++ (instancetype)emptyOptions {
46
+    return [[RNNNavigationOptions alloc] initEmptyOptions];
47
+}
48
+
45 49
 - (instancetype)initEmptyOptions {
46 50
 	self = [self initWithDict:@{}];
47 51
 	return self;

+ 0
- 1
lib/ios/RNNSplitViewControllerPresenter.m Parādīt failu

@@ -1,6 +1,5 @@
1 1
 #import "RNNSplitViewControllerPresenter.h"
2 2
 #import "UISplitViewController+RNNOptions.h"
3
-#import "RCTConvert+Modal.h"
4 3
 #import "RNNSplitViewController.h"
5 4
 
6 5
 @implementation RNNSplitViewControllerPresenter

+ 0
- 4
lib/ios/RNNStackController.m Parādīt failu

@@ -37,10 +37,6 @@
37 37
 	return [_presenter getStatusBarStyle:self.resolveOptions];
38 38
 }
39 39
 
40
-- (UIModalPresentationStyle)modalPresentationStyle {
41
-	return self.getCurrentChild.modalPresentationStyle;
42
-}
43
-
44 40
 - (UIViewController *)popViewControllerAnimated:(BOOL)animated {
45 41
     [self prepareForPop];
46 42
 	return [super popViewControllerAnimated:animated];

+ 8
- 5
lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj Parādīt failu

@@ -219,7 +219,6 @@
219 219
 		505EDD34214E7B7B0071C7DE /* RNNLeafProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 505EDD33214E7A6A0071C7DE /* RNNLeafProtocol.h */; };
220 220
 		505EDD3C214FA8000071C7DE /* RNNComponentPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 505EDD3A214FA8000071C7DE /* RNNComponentPresenter.h */; };
221 221
 		505EDD3D214FA8000071C7DE /* RNNComponentPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 505EDD3B214FA8000071C7DE /* RNNComponentPresenter.m */; };
222
-		505EDD4A214FDA800071C7DE /* RCTConvert+Modal.h in Headers */ = {isa = PBXBuildFile; fileRef = 505EDD48214FDA800071C7DE /* RCTConvert+Modal.h */; };
223 222
 		5060DE73219DAD7E00D0C052 /* ReactNativeNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA500731E2544B9001B9E1B /* ReactNativeNavigation.h */; };
224 223
 		5060DE74219DAD8300D0C052 /* RNNBridgeManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 502CB43920CBCA140019B2FE /* RNNBridgeManagerDelegate.h */; };
225 224
 		5061B6C723D48449008B9827 /* VerticalRotationTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 5061B6C523D48449008B9827 /* VerticalRotationTransition.h */; };
@@ -270,6 +269,8 @@
270 269
 		509416A823A11C630036092C /* EnumParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 509416A623A11C630036092C /* EnumParser.m */; };
271 270
 		509416AB23A11CB20036092C /* NullEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = 509416A923A11CB20036092C /* NullEnum.h */; };
272 271
 		509416AC23A11CB20036092C /* NullEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 509416AA23A11CB20036092C /* NullEnum.m */; };
272
+		5095BB722416A3B900C4CD41 /* RNNConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 5095BB702416A3B900C4CD41 /* RNNConvert.h */; };
273
+		5095BB732416A3B900C4CD41 /* RNNConvert.m in Sources */ = {isa = PBXBuildFile; fileRef = 5095BB712416A3B900C4CD41 /* RNNConvert.m */; };
273 274
 		509670A023D4A81E002224F9 /* BaseAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5096709E23D4A81E002224F9 /* BaseAnimator.h */; };
274 275
 		509670A123D4A81E002224F9 /* BaseAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 5096709F23D4A81E002224F9 /* BaseAnimator.m */; };
275 276
 		50967F5B232FC2C200BEEA92 /* RNNFontAttributesCreatorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 50967F5A232FC2C200BEEA92 /* RNNFontAttributesCreatorTest.m */; };
@@ -704,7 +705,6 @@
704 705
 		505EDD3A214FA8000071C7DE /* RNNComponentPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNComponentPresenter.h; sourceTree = "<group>"; };
705 706
 		505EDD3B214FA8000071C7DE /* RNNComponentPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNComponentPresenter.m; sourceTree = "<group>"; };
706 707
 		505EDD47214FC4A60071C7DE /* RNNLayoutProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNLayoutProtocol.h; sourceTree = "<group>"; };
707
-		505EDD48214FDA800071C7DE /* RCTConvert+Modal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RCTConvert+Modal.h"; sourceTree = "<group>"; };
708 708
 		5061B6C523D48449008B9827 /* VerticalRotationTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VerticalRotationTransition.h; sourceTree = "<group>"; };
709 709
 		5061B6C623D48449008B9827 /* VerticalRotationTransition.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VerticalRotationTransition.m; sourceTree = "<group>"; };
710 710
 		506317A8220B547400B26FC3 /* UIImage+insets.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIImage+insets.h"; sourceTree = "<group>"; };
@@ -753,6 +753,8 @@
753 753
 		509416A623A11C630036092C /* EnumParser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EnumParser.m; sourceTree = "<group>"; };
754 754
 		509416A923A11CB20036092C /* NullEnum.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NullEnum.h; sourceTree = "<group>"; };
755 755
 		509416AA23A11CB20036092C /* NullEnum.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NullEnum.m; sourceTree = "<group>"; };
756
+		5095BB702416A3B900C4CD41 /* RNNConvert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNConvert.h; sourceTree = "<group>"; };
757
+		5095BB712416A3B900C4CD41 /* RNNConvert.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNConvert.m; sourceTree = "<group>"; };
756 758
 		5096709923D49B35002224F9 /* DisplayLinkAnimatorDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DisplayLinkAnimatorDelegate.h; sourceTree = "<group>"; };
757 759
 		5096709E23D4A81E002224F9 /* BaseAnimator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseAnimator.h; sourceTree = "<group>"; };
758 760
 		5096709F23D4A81E002224F9 /* BaseAnimator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseAnimator.m; sourceTree = "<group>"; };
@@ -1007,12 +1009,13 @@
1007 1009
 				5038A373216CDDB6009280BC /* UIViewController+SideMenuController.m */,
1008 1010
 				5038A3BF216E1E66009280BC /* RNNFontAttributesCreator.h */,
1009 1011
 				5038A3C0216E1E66009280BC /* RNNFontAttributesCreator.m */,
1010
-				505EDD48214FDA800071C7DE /* RCTConvert+Modal.h */,
1011 1012
 				50DA74CF232F80FE004A00C1 /* RCTConvert+UIFontWeight.h */,
1012 1013
 				50E02BD521A6E54B00A43942 /* RCTConvert+SideMenuOpenGestureMode.h */,
1013 1014
 				7365070F21E4B16F004E020F /* RCTConvert+UIBarButtonSystemItem.h */,
1014 1015
 				7365071021E4B16F004E020F /* RCTConvert+UIBarButtonSystemItem.m */,
1015 1016
 				5030B62823D5C9AF008F1642 /* RCTConvert+Interpolation.h */,
1017
+				5095BB702416A3B900C4CD41 /* RNNConvert.h */,
1018
+				5095BB712416A3B900C4CD41 /* RNNConvert.m */,
1016 1019
 				5038A3BB216E1490009280BC /* RNNTabBarItemCreator.h */,
1017 1020
 				5038A3BC216E1490009280BC /* RNNTabBarItemCreator.m */,
1018 1021
 				5022EDBF24053C9F00852BA6 /* TabBarItemAppearanceCreator.h */,
@@ -1671,7 +1674,6 @@
1671 1674
 			files = (
1672 1675
 				5060DE74219DAD8300D0C052 /* RNNBridgeManagerDelegate.h in Headers */,
1673 1676
 				5060DE73219DAD7E00D0C052 /* ReactNativeNavigation.h in Headers */,
1674
-				261F0E6A1E6F028A00989DE2 /* RNNNavigationStackManager.h in Headers */,
1675 1677
 				5022EDBD2405237100852BA6 /* BottomTabPresenterCreator.h in Headers */,
1676 1678
 				507ACB1523F44E5200829911 /* RNNComponentRootView.h in Headers */,
1677 1679
 				5061B6C723D48449008B9827 /* VerticalRotationTransition.h in Headers */,
@@ -1849,7 +1851,6 @@
1849 1851
 				507F43F81FF525B500D9425B /* RNNSegmentedControl.h in Headers */,
1850 1852
 				50175CD1207A2AA1004FE91B /* RNNComponentOptions.h in Headers */,
1851 1853
 				5038A3B1216DF41B009280BC /* UIViewController+RNNOptions.h in Headers */,
1852
-				505EDD4A214FDA800071C7DE /* RCTConvert+Modal.h in Headers */,
1853 1854
 				5049595A216F6B46006D2B81 /* NullDictionary.h in Headers */,
1854 1855
 				50BCB27123F1650800D6C8E5 /* SharedElementAnimator.h in Headers */,
1855 1856
 				50BCB27D23F2A1EE00D6C8E5 /* FloatTransition.h in Headers */,
@@ -1863,6 +1864,7 @@
1863 1864
 				30987680135A8C78E62D5B8E /* DotIndicatorOptions.h in Headers */,
1864 1865
 				30987CA5048A48D6CE76B06C /* DotIndicatorParser.h in Headers */,
1865 1866
 				3098730BC3B4DE41104D9CC4 /* RNNDotIndicatorPresenter.h in Headers */,
1867
+				5095BB722416A3B900C4CD41 /* RNNConvert.h in Headers */,
1866 1868
 				50D3A36E23B8D6C600717F95 /* SharedElementTransitionsCreator.h in Headers */,
1867 1869
 				309877F473AECC05FB3B9362 /* UITabBarController+RNNUtils.h in Headers */,
1868 1870
 				3098702E6833E5CC16D91CE3 /* NoColor.h in Headers */,
@@ -2171,6 +2173,7 @@
2171 2173
 				7B4928091E70415400555040 /* RNNCommandsHandler.m in Sources */,
2172 2174
 				50887C1620ECC5C200D06111 /* RNNButtonOptions.m in Sources */,
2173 2175
 				50EA541B23AEE1C6006F881A /* AnimatedReactView.m in Sources */,
2176
+				5095BB732416A3B900C4CD41 /* RNNConvert.m in Sources */,
2174 2177
 				7BC9346E1E26886E00EFA125 /* RNNControllerFactory.m in Sources */,
2175 2178
 				507F43F91FF525B500D9425B /* RNNSegmentedControl.m in Sources */,
2176 2179
 				5038A3B2216DF41B009280BC /* UIViewController+RNNOptions.m in Sources */,

+ 30
- 57
playground/ios/NavigationTests/RNNComponentPresenterTest.m Parādīt failu

@@ -5,7 +5,6 @@
5 5
 #import "RNNComponentViewController.h"
6 6
 #import "UIViewController+LayoutProtocol.h"
7 7
 #import "RNNTitleViewHelper.h"
8
-#import "RCTConvert+Modal.h"
9 8
 
10 9
 @interface RNNComponentPresenterTest : XCTestCase
11 10
 
@@ -58,12 +57,12 @@
58 57
 	XCTAssertFalse(self.boundViewController.navigationItem.hidesBackButton);
59 58
 }
60 59
 
61
-//- (void)testApplyOptions_drawBehindTabBarTrueWhenVisibleFalse {
62
-//	self.options.bottomTabs.visible = [[Bool alloc] initWithValue:@(0)];
63
-//	[[(id) self.boundViewController expect] setDrawBehindTabBar:YES];
64
-//	[self.uut applyOptionsOnInit:self.options];
65
-//	[(id)self.boundViewController verify];
66
-//}
60
+- (void)testApplyOptions_drawBehindTabBarTrueWhenVisibleFalse {
61
+	self.options.bottomTabs.visible = [[Bool alloc] initWithValue:@(0)];
62
+	[[(id) self.boundViewController expect] setDrawBehindTabBar:YES];
63
+	[self.uut applyOptionsOnInit:self.options];
64
+	[(id)self.boundViewController verify];
65
+}
67 66
 
68 67
 - (void)testApplyOptions_setOverlayTouchOutsideIfHasValue {
69 68
     self.options.overlay.interceptTouchOutside = [[Bool alloc] initWithBOOL:YES];
@@ -78,63 +77,37 @@
78 77
 	XCTAssertNotNil(presenter.navigationButtons);
79 78
 }
80 79
 
81
-- (void)testApplyOptionsOnInit_shouldSetModalPresentationStyleWithDefault {
82
-    [(UIViewController *) [(id) self.boundViewController expect] setModalPresentationStyle:[RCTConvert defaultModalPresentationStyle]];
83
-	[self.uut applyOptionsOnInit:self.options];
84
-	[(id)self.boundViewController verify];
85
-}
80
+-(void)testApplyOptionsOnInit_TopBarDrawUnder_true {
81
+    self.options.topBar.drawBehind = [[Bool alloc] initWithValue:@(1)];
86 82
 
87
-- (void)testApplyOptionsOnInit_shouldSetModalTransitionStyleWithDefault {
88
-	[(UIViewController *) [(id) self.boundViewController expect] setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
89
-	[self.uut applyOptionsOnInit:self.options];
90
-	[(id)self.boundViewController verify];
83
+	[[(id) self.boundViewController expect] setDrawBehindTopBar:YES];
84
+    [self.uut applyOptionsOnInit:self.options];
85
+    [(id)self.boundViewController verify];
91 86
 }
92 87
 
93
-- (void)testApplyOptionsOnInit_shouldSetModalPresentationStyleWithValue {
94
-	self.options.modalPresentationStyle = [[Text alloc] initWithValue:@"overCurrentContext"];
95
-    [(UIViewController *) [(id) self.boundViewController expect] setModalPresentationStyle:UIModalPresentationOverCurrentContext];
96
-	[self.uut applyOptionsOnInit:self.options];
97
-	[(id)self.boundViewController verify];
88
+-(void)testApplyOptionsOnInit_TopBarDrawUnder_false {
89
+    self.options.topBar.drawBehind = [[Bool alloc] initWithValue:@(0)];
90
+
91
+	[[(id) self.boundViewController expect] setDrawBehindTopBar:NO];
92
+    [self.uut applyOptionsOnInit:self.options];
93
+    [(id)self.boundViewController verify];
98 94
 }
99 95
 
100
-- (void)testApplyOptionsOnInit_shouldSetModalTransitionStyleWithValue {
101
-	self.options.modalTransitionStyle = [[Text alloc] initWithValue:@"crossDissolve"];
102
-	[(UIViewController *) [(id) self.boundViewController expect] setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
103
-	[self.uut applyOptionsOnInit:self.options];
104
-	[(id)self.boundViewController verify];
96
+-(void)testApplyOptionsOnInit_BottomTabsDrawUnder_true {
97
+    self.options.bottomTabs.drawBehind = [[Bool alloc] initWithValue:@(1)];
98
+
99
+	[[(id) self.boundViewController expect] setDrawBehindTabBar:YES];
100
+    [self.uut applyOptionsOnInit:self.options];
101
+    [(id)self.boundViewController verify];
105 102
 }
106 103
 
107
-//-(void)testApplyOptionsOnInit_TopBarDrawUnder_true {
108
-//    self.options.topBar.drawBehind = [[Bool alloc] initWithValue:@(1)];
109
-//
110
-//	[[(id) self.boundViewController expect] setDrawBehindTopBar:YES];
111
-//    [self.uut applyOptionsOnInit:self.options];
112
-//    [(id)self.boundViewController verify];
113
-//}
114
-//
115
-//-(void)testApplyOptionsOnInit_TopBarDrawUnder_false {
116
-//    self.options.topBar.drawBehind = [[Bool alloc] initWithValue:@(0)];
117
-//
118
-//	[[(id) self.boundViewController expect] setDrawBehindTopBar:NO];
119
-//    [self.uut applyOptionsOnInit:self.options];
120
-//    [(id)self.boundViewController verify];
121
-//}
122
-//
123
-//-(void)testApplyOptionsOnInit_BottomTabsDrawUnder_true {
124
-//    self.options.bottomTabs.drawBehind = [[Bool alloc] initWithValue:@(1)];
125
-//
126
-//	[[(id) self.boundViewController expect] setDrawBehindTabBar:YES];
127
-//    [self.uut applyOptionsOnInit:self.options];
128
-//    [(id)self.boundViewController verify];
129
-//}
130
-//
131
-//-(void)testApplyOptionsOnInit_BottomTabsDrawUnder_false {
132
-//    self.options.bottomTabs.drawBehind = [[Bool alloc] initWithValue:@(0)];
133
-//
134
-//	[[(id) self.boundViewController expect] setDrawBehindTabBar:NO];
135
-//    [self.uut applyOptionsOnInit:self.options];
136
-//    [(id)self.boundViewController verify];
137
-//}
104
+-(void)testApplyOptionsOnInit_BottomTabsDrawUnder_false {
105
+    self.options.bottomTabs.drawBehind = [[Bool alloc] initWithValue:@(0)];
106
+
107
+	[[(id) self.boundViewController expect] setDrawBehindTabBar:NO];
108
+    [self.uut applyOptionsOnInit:self.options];
109
+    [(id)self.boundViewController verify];
110
+}
138 111
 
139 112
 - (void)testReactViewShouldBeReleasedOnDealloc {
140 113
 	RNNComponentViewController* bindViewController = [RNNComponentViewController new];

+ 26
- 0
playground/ios/NavigationTests/RNNModalManagerTest.m Parādīt failu

@@ -145,6 +145,32 @@
145 145
 	[mockDelegate verify];
146 146
 }
147 147
 
148
+- (void)testApplyOptionsOnInit_shouldShowModalWithDefaultPresentationStyle {
149
+	_vc1.options = [RNNNavigationOptions emptyOptions];
150
+	[_modalManager showModal:_vc1 animated:NO completion:nil];
151
+	XCTAssertEqual(_vc1.modalPresentationStyle, UIModalPresentationPageSheet);
152
+}
153
+
154
+- (void)testApplyOptionsOnInit_shouldShowModalWithDefaultTransitionStyle {
155
+	_vc1.options = [RNNNavigationOptions emptyOptions];
156
+	[_modalManager showModal:_vc1 animated:NO completion:nil];
157
+	XCTAssertEqual(_vc1.modalTransitionStyle, UIModalTransitionStyleCoverVertical);
158
+}
159
+
160
+- (void)testApplyOptionsOnInit_shouldShowModalWithPresentationStyle {
161
+	_vc1.options = [RNNNavigationOptions emptyOptions];
162
+	_vc1.options.modalPresentationStyle = [Text withValue:@"overCurrentContext"];
163
+	[_modalManager showModal:_vc1 animated:NO completion:nil];
164
+	XCTAssertEqual(_vc1.modalPresentationStyle, UIModalPresentationOverCurrentContext);
165
+}
166
+
167
+- (void)testApplyOptionsOnInit_shouldShowModalWithTransitionStyle {
168
+	_vc1.options = [RNNNavigationOptions emptyOptions];
169
+	_vc1.options.modalTransitionStyle = [Text withValue:@"crossDissolve"];
170
+	[_modalManager showModal:_vc1 animated:NO completion:nil];
171
+	XCTAssertEqual(_vc1.modalTransitionStyle, UIModalTransitionStyleCrossDissolve);
172
+}
173
+
148 174
 #pragma mark RNNModalManagerDelegate
149 175
 
150 176
 - (void)dismissedMultipleModals:(NSArray *)viewControllers {

+ 0
- 1
playground/ios/NavigationTests/RNNTabBarControllerTest.m Parādīt failu

@@ -3,7 +3,6 @@
3 3
 #import <ReactNativeNavigation/RNNComponentViewController.h>
4 4
 #import "RNNStackController.h"
5 5
 #import <OCMock/OCMock.h>
6
-#import "RCTConvert+Modal.h"
7 6
 #import <ReactNativeNavigation/BottomTabPresenterCreator.h>
8 7
 #import "RNNBottomTabsController+Helpers.h"
9 8
 

+ 0
- 1
playground/ios/NavigationTests/UIViewController+LayoutProtocolTest.m Parādīt failu

@@ -3,7 +3,6 @@
3 3
 #import "UIViewController+LayoutProtocol.h"
4 4
 #import "UIViewController+RNNOptions.h"
5 5
 #import "RNNComponentPresenter.h"
6
-#import "RCTConvert+Modal.h"
7 6
 #import "RNNBottomTabsController.h"
8 7
 #import "RNNStackController.h"
9 8