react-native-navigation 7.24.3 → 7.25.1

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.
Files changed (121) hide show
  1. package/lib/android/app/build.gradle +12 -9
  2. package/lib/android/app/src/main/java/com/reactnativenavigation/options/Options.java +2 -0
  3. package/lib/android/app/src/main/java/com/reactnativenavigation/options/layout/LayoutInsets.kt +44 -0
  4. package/lib/android/app/src/main/java/com/reactnativenavigation/options/layout/LayoutOptions.kt +71 -0
  5. package/lib/android/app/src/main/java/com/reactnativenavigation/utils/PrimitiveExt.kt +9 -0
  6. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java +4 -3
  7. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/navigator/Navigator.java +5 -0
  8. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java +23 -7
  9. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +12 -3
  10. package/lib/dist/src/interfaces/Options.d.ts +10 -0
  11. package/lib/ios/RNNBasePresenter.m +17 -0
  12. package/lib/ios/RNNBottomTabsController.m +1 -0
  13. package/lib/ios/RNNBridgeManager.mm +5 -3
  14. package/lib/ios/RNNComponentViewController.m +5 -0
  15. package/lib/ios/RNNLayoutOptions.h +2 -1
  16. package/lib/ios/RNNLayoutOptions.m +4 -0
  17. package/lib/ios/RNNModalHostViewManagerHandler.h +11 -0
  18. package/lib/ios/RNNModalHostViewManagerHandler.m +40 -0
  19. package/lib/ios/RNNModalManager.h +2 -2
  20. package/lib/ios/RNNModalManager.m +0 -26
  21. package/lib/ios/RNNStackPresenter.m +1 -0
  22. package/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj +8 -0
  23. package/lib/src/interfaces/Options.ts +12 -0
  24. package/package.json +3 -1
  25. package/.buildkite/pipeline.yml +0 -59
  26. package/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutOptions.java +0 -48
  27. package/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java +0 -178
  28. package/lib/android/app/src/test/java/com/reactnativenavigation/EnvironmentTest.java +0 -43
  29. package/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java +0 -23
  30. package/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java +0 -35
  31. package/lib/android/app/src/test/java/com/reactnativenavigation/TestUtils.java +0 -62
  32. package/lib/android/app/src/test/java/com/reactnativenavigation/fakes/IconResolverFake.kt +0 -8
  33. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/BackDrawable.java +0 -30
  34. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/ImageLoaderMock.kt +0 -49
  35. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/Mocks.kt +0 -18
  36. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleComponentViewController.java +0 -15
  37. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleOverlay.java +0 -54
  38. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleViewController.java +0 -113
  39. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentLayout.java +0 -79
  40. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentViewCreator.java +0 -18
  41. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java +0 -71
  42. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarButtonCreatorMock.java +0 -34
  43. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java +0 -20
  44. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarBackgroundViewCreatorMock.java +0 -20
  45. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TypefaceLoaderMock.kt +0 -21
  46. package/lib/android/app/src/test/java/com/reactnativenavigation/options/LayoutNodeParserTest.java +0 -51
  47. package/lib/android/app/src/test/java/com/reactnativenavigation/options/OptionsTest.java +0 -315
  48. package/lib/android/app/src/test/java/com/reactnativenavigation/options/OrientationOptionsTest.java +0 -81
  49. package/lib/android/app/src/test/java/com/reactnativenavigation/options/TopBarButtonsTest.kt +0 -95
  50. package/lib/android/app/src/test/java/com/reactnativenavigation/options/TransitionAnimationOptionsTest.kt +0 -122
  51. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/BoolParserTest.java +0 -28
  52. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/ColorParseTest.java +0 -50
  53. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/JSONParserTest.java +0 -64
  54. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/PresenterTest.java +0 -56
  55. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/RenderCheckerTest.java +0 -59
  56. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/SideMenuPresenterTest.java +0 -35
  57. package/lib/android/app/src/test/java/com/reactnativenavigation/react/NavigationModuleTest.java +0 -102
  58. package/lib/android/app/src/test/java/com/reactnativenavigation/react/ReloadListenerTest.java +0 -24
  59. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/AnimationHelper.kt +0 -33
  60. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonPresenterTest.java +0 -241
  61. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonSpanTest.java +0 -57
  62. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/CompatUtilsTest.java +0 -17
  63. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/LayoutFactoryTest.java +0 -78
  64. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/MotionEventTest.kt +0 -47
  65. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/NativeCommandListenerTest.java +0 -60
  66. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/OptionHelper.java +0 -16
  67. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ReflectionUtilsTest.java +0 -26
  68. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/StringUtilsTest.java +0 -19
  69. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/SystemUiUtilsTest.kt +0 -27
  70. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleAndButtonsMeasurerTest.kt +0 -357
  71. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleBarHelper.java +0 -54
  72. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiThreadTest.java +0 -29
  73. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiUtilsTest.java +0 -22
  74. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ViewHelper.java +0 -9
  75. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/OptionsApplyingTest.java +0 -149
  76. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenterTest.java +0 -206
  77. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsAttacherTest.java +0 -62
  78. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt +0 -589
  79. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsPresenterTest.kt +0 -173
  80. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AfterInitialTabTest.java +0 -38
  81. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java +0 -86
  82. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/OnSwitchToTabTest.java +0 -31
  83. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/TogetherTest.java +0 -20
  84. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/button/NavigationIconResolverTest.java +0 -78
  85. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java +0 -80
  86. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java +0 -56
  87. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewControllerTest.java +0 -216
  88. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentViewControllerTest.java +0 -97
  89. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/FragmentCreatorMock.java +0 -34
  90. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/SomeFragment.java +0 -8
  91. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/fakes/FakeParentController.kt +0 -33
  92. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorMock.java +0 -40
  93. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt +0 -213
  94. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalPresenterTest.java +0 -319
  95. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java +0 -367
  96. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/NavigatorTest.java +0 -898
  97. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt +0 -254
  98. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/overlay/OverlayManagerTest.java +0 -108
  99. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/parent/ParentControllerTest.java +0 -299
  100. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/sidemenu/SideMenuControllerTest.java +0 -446
  101. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java +0 -77
  102. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/FloatingActionButtonTest.java +0 -154
  103. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/IdStackTest.java +0 -114
  104. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt +0 -241
  105. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackControllerTest.kt +0 -1165
  106. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenterTest.kt +0 -1081
  107. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java +0 -61
  108. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java +0 -43
  109. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java +0 -120
  110. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt +0 -432
  111. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/toptabs/TopTabsViewControllerTest.java +0 -249
  112. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerTest.java +0 -337
  113. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegateTest.java +0 -68
  114. package/lib/android/app/src/test/java/com/reactnativenavigation/views/OverlayTouchDelegateTest.java +0 -60
  115. package/lib/android/app/src/test/java/com/reactnativenavigation/views/TitleAndButtonsContainerTest.kt +0 -477
  116. package/lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarTest.java +0 -82
  117. package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/BaseViewAnimatorTest.kt +0 -109
  118. package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/DefaultViewAnimatorCreatorFake.kt +0 -36
  119. package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsContainerTest.kt +0 -101
  120. package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsTest.kt +0 -40
  121. package/lib/android/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +0 -1
@@ -1,206 +0,0 @@
1
- package com.reactnativenavigation.viewcontrollers.bottomtabs;
2
-
3
- import android.app.Activity;
4
- import android.content.res.Configuration;
5
- import android.graphics.Color;
6
-
7
- import com.aurelhubert.ahbottomnavigation.notification.AHNotification;
8
- import com.reactnativenavigation.BaseTest;
9
- import com.reactnativenavigation.mocks.ImageLoaderMock;
10
- import com.reactnativenavigation.mocks.SimpleViewController;
11
- import com.reactnativenavigation.mocks.TypefaceLoaderMock;
12
- import com.reactnativenavigation.options.Options;
13
- import com.reactnativenavigation.options.params.Colour;
14
- import com.reactnativenavigation.options.params.DontApplyColour;
15
- import com.reactnativenavigation.options.params.NullText;
16
- import com.reactnativenavigation.options.params.NullThemeColour;
17
- import com.reactnativenavigation.options.params.ThemeColour;
18
- import com.reactnativenavigation.options.params.Text;
19
- import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry;
20
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController;
21
- import com.reactnativenavigation.views.bottomtabs.BottomTabs;
22
-
23
- import org.junit.Test;
24
- import org.mockito.ArgumentCaptor;
25
- import org.mockito.InOrder;
26
- import org.mockito.Mockito;
27
-
28
- import java.util.Arrays;
29
- import java.util.List;
30
-
31
- import static com.reactnativenavigation.utils.CollectionUtils.*;
32
- import static org.assertj.core.api.Assertions.assertThat;
33
- import static org.mockito.ArgumentMatchers.any;
34
- import static org.mockito.ArgumentMatchers.anyInt;
35
- import static org.mockito.ArgumentMatchers.eq;
36
- import static org.mockito.Mockito.inOrder;
37
- import static org.mockito.Mockito.never;
38
- import static org.mockito.Mockito.spy;
39
- import static org.mockito.Mockito.times;
40
- import static org.mockito.Mockito.verify;
41
- import static org.mockito.Mockito.verifyNoMoreInteractions;
42
-
43
- public class BottomTabPresenterTest extends BaseTest {
44
- private Options tab1Options = createTab1Options();
45
- private Options tab2Options = createTab2Options();
46
- private BottomTabPresenter uut;
47
- private BottomTabs bottomTabs;
48
- private List<ViewController<?>> tabs;
49
- private ViewController<?> child1;
50
- private ViewController<?> child2;
51
- private ViewController<?> child3;
52
- private Activity activity;
53
- private ChildControllersRegistry childRegistry;
54
-
55
- @Override
56
- public void beforeEach() {
57
- super.beforeEach();
58
- activity = newActivity();
59
- childRegistry = new ChildControllersRegistry();
60
- createBottomTabs(tab1Options,tab2Options,new Options());
61
- }
62
-
63
- private void createBottomTabs(Options tab1Options,
64
- Options tab2Options,Options tab3Options ) {
65
- childRegistry = new ChildControllersRegistry();
66
- bottomTabs = Mockito.mock(BottomTabs.class);
67
- child1 = spy(new SimpleViewController(activity, childRegistry, "child1", tab1Options));
68
- child2 = spy(new SimpleViewController(activity, childRegistry, "child2", tab2Options));
69
- child3 = spy(new SimpleViewController(activity, childRegistry, "child2", tab3Options));
70
- tabs = Arrays.asList(child1, child2, child3);
71
- uut = new BottomTabPresenter(activity, tabs, ImageLoaderMock.mock(), new TypefaceLoaderMock(), new Options());
72
- uut.bindView(bottomTabs);
73
- uut.setDefaultOptions(new Options());
74
- }
75
-
76
- @Test
77
- public void onConfigurationChange_shouldChangeColors(){
78
- Options options = Options.EMPTY;
79
- options.bottomTabOptions.textColor = ThemeColour.of(Color.BLACK,Color.WHITE);
80
- options.bottomTabOptions.selectedTextColor = ThemeColour.of(Color.BLUE,Color.RED);
81
- options.bottomTabOptions.iconColor = ThemeColour.of(Color.BLACK,Color.WHITE);
82
- options.bottomTabOptions.selectedIconColor = ThemeColour.of(Color.BLUE,Color.RED);
83
- options.bottomTabOptions.badgeColor = ThemeColour.of(Color.BLACK,Color.WHITE);
84
- createBottomTabs(options,options,options);
85
-
86
- mockConfiguration.uiMode = Configuration.UI_MODE_NIGHT_NO;
87
- uut.onConfigurationChanged(options);
88
- for(int i=0;i<tabs.size();++i){
89
- verify(bottomTabs).setIconActiveColor(i,Color.BLUE);
90
- verify(bottomTabs).setIconInactiveColor(i,Color.BLACK);
91
-
92
- verify(bottomTabs).setTitleActiveColor(i,Color.BLUE);
93
- verify(bottomTabs).setTitleInactiveColor(i,Color.BLACK);
94
- }
95
-
96
- mockConfiguration.uiMode = Configuration.UI_MODE_NIGHT_YES;
97
- uut.onConfigurationChanged(options);
98
- for(int i=0;i<tabs.size();++i){
99
- verify(bottomTabs).setIconActiveColor(i,Color.RED);
100
- verify(bottomTabs).setIconInactiveColor(i,Color.WHITE);
101
-
102
- verify(bottomTabs).setTitleActiveColor(i,Color.RED);
103
- verify(bottomTabs).setTitleInactiveColor(i,Color.WHITE);
104
- }
105
- }
106
-
107
- @Test
108
- public void present() {
109
- uut.applyOptions();
110
- verify(bottomTabs, times(1)).setNotification(any(AHNotification.class), eq(0));
111
- verify(bottomTabs, times(1)).setNotification(any(AHNotification.class), eq(1));
112
- verify(bottomTabs, never()).setNotification(any(AHNotification.class), eq(2));
113
-
114
- for (int i = 0; i < tabs.size(); i++) {
115
- verify(bottomTabs, times(1)).setTitleInactiveColor(i, tabs.get(i).options.bottomTabOptions.textColor.get(null));
116
- verify(bottomTabs, times(1)).setTitleActiveColor(i, tabs.get(i).options.bottomTabOptions.selectedTextColor.get(null));
117
- }
118
- }
119
-
120
- @Test
121
- public void applyOptions_shouldPresentBadgeIfAvailable() {
122
- final Options tab1 = tab1Options.copy();
123
- tab1.bottomTabOptions.badge = new NullText();
124
- tab1.bottomTabOptions.badgeColor = new NullThemeColour();
125
-
126
- final Options tab2 = tab2Options.copy();
127
- tab2.bottomTabOptions.badge = new Text("Badge");
128
- tab2.bottomTabOptions.badgeColor = ThemeColour.of(Color.RED);
129
-
130
-
131
- createBottomTabs(tab1, tab2, new Options());
132
- uut.applyOptions();
133
-
134
- ArgumentCaptor<AHNotification> notificationArgumentCaptor = ArgumentCaptor.forClass(AHNotification.class);
135
- verify(bottomTabs).setNotification(notificationArgumentCaptor.capture(), eq(1));
136
- final AHNotification value = notificationArgumentCaptor.getValue();
137
- assertThat(value.getReadableText()).isEqualTo("Badge");
138
- assertThat(value.getBackgroundColor()).isEqualTo(Color.RED);
139
-
140
- verify(bottomTabs,never()).setNotification(notificationArgumentCaptor.capture(), eq(0));
141
- verify(bottomTabs,never()).setNotification(notificationArgumentCaptor.capture(), eq(2));
142
-
143
- }
144
-
145
- @Test
146
- public void mergeOptions_createTabsOnce() {
147
- Options options = new Options();
148
- options.bottomTabOptions.iconColor = new ThemeColour(new Colour(1));
149
- options.bottomTabOptions.selectedIconColor = new ThemeColour(new Colour(1));
150
- BottomTabPresenter spy = spy(uut);
151
-
152
- spy.mergeOptions(options);
153
-
154
- InOrder inOrder = inOrder(spy, child1, child2, child3, bottomTabs);
155
- inOrder.verify(bottomTabs).disableItemsCreation();
156
- forEach(tabs, tab -> inOrder.verify(spy).mergeChildOptions(options, tab));
157
- inOrder.verify(bottomTabs).enableItemsCreation();
158
- }
159
-
160
- @Test
161
- public void mergeChildOptions() {
162
- for (int i = 0; i < 2; i++) {
163
- Options options = tabs.get(i).options;
164
- uut.mergeChildOptions(options, tabs.get(i));
165
- verify(bottomTabs, times(1)).setNotification(any(AHNotification.class), eq(i));
166
- verify(bottomTabs, times(1)).setIconActiveColor(eq(i), anyInt());
167
- verify(bottomTabs, times(1)).setIconInactiveColor(eq(i), anyInt());
168
- }
169
- verifyNoMoreInteractions(bottomTabs);
170
- }
171
-
172
- @Test
173
- public void mergeChildOptions_onlySetsDefinedOptions() {
174
- uut.mergeChildOptions(child3.options, child3);
175
- verify(bottomTabs, times(0)).setNotification(any(AHNotification.class), anyInt());
176
- verify(bottomTabs, times(0)).setIconInactiveColor(eq(2), anyInt());
177
- verify(bottomTabs, times(0)).setIconActiveColor(eq(2), anyInt());
178
- verifyNoMoreInteractions(bottomTabs);
179
- }
180
-
181
- @Test
182
- public void mergeChildOptions_nullColorsAreNotMerged() {
183
- Options options = new Options();
184
- options.bottomTabOptions.iconColor = new ThemeColour(new DontApplyColour());
185
- options.bottomTabOptions.selectedIconColor = new ThemeColour(new DontApplyColour());
186
- uut.mergeChildOptions(options, child3);
187
- verify(bottomTabs, times(0)).setIconActiveColor(anyInt(), anyInt());
188
- verify(bottomTabs, times(0)).setIconInactiveColor(anyInt(), anyInt());
189
- }
190
-
191
- private Options createTab1Options() {
192
- Options options = new Options();
193
- options.bottomTabOptions.badge = new Text("tab1badge");
194
- options.bottomTabOptions.iconColor = new ThemeColour(new Colour(Color.RED));
195
- options.bottomTabOptions.selectedIconColor = new ThemeColour(new Colour(Color.RED));
196
- return options;
197
- }
198
-
199
- private Options createTab2Options() {
200
- Options options = new Options();
201
- options.bottomTabOptions.badge = new Text("tab2badge");
202
- options.bottomTabOptions.iconColor = new ThemeColour(new Colour(Color.RED));
203
- options.bottomTabOptions.selectedIconColor = new ThemeColour(new Colour(Color.RED));
204
- return options;
205
- }
206
- }
@@ -1,62 +0,0 @@
1
- package com.reactnativenavigation.viewcontrollers.bottomtabs;
2
-
3
- import android.view.ViewGroup;
4
-
5
- import com.reactnativenavigation.BaseTest;
6
- import com.reactnativenavigation.options.Options;
7
- import com.reactnativenavigation.options.TabsAttachMode;
8
- import com.reactnativenavigation.viewcontrollers.bottomtabs.attacher.BottomTabsAttacher;
9
- import com.reactnativenavigation.viewcontrollers.bottomtabs.attacher.modes.AttachMode;
10
- import com.reactnativenavigation.viewcontrollers.bottomtabs.attacher.modes.OnSwitchToTab;
11
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController;
12
-
13
- import org.junit.Test;
14
- import org.mockito.Mockito;
15
-
16
- import java.util.Arrays;
17
- import java.util.List;
18
-
19
- import static org.assertj.core.api.Java6Assertions.assertThat;
20
- import static org.mockito.Mockito.mock;
21
- import static org.mockito.Mockito.verify;
22
-
23
- public class BottomTabsAttacherTest extends BaseTest {
24
-
25
- private BottomTabsAttacher uut;
26
- private AttachMode mode;
27
- private final Options defaultOptions = new Options();
28
-
29
- @Override
30
- public void beforeEach() {
31
- mode = Mockito.mock(AttachMode.class);
32
- List<ViewController<?>> tabs = Arrays.asList(mock(ViewController.class), mock(ViewController.class));
33
- uut = new BottomTabsAttacher(tabs, Mockito.mock(BottomTabsPresenter.class), defaultOptions);
34
- uut.attachStrategy = mode;
35
- }
36
-
37
- @Test
38
- public void init_defaultOptionsAreTakenIntoAccount() {
39
- defaultOptions.bottomTabsOptions.tabsAttachMode = TabsAttachMode.ON_SWITCH_TO_TAB;
40
- uut.init(Mockito.mock(ViewGroup.class), Options.EMPTY);
41
- assertThat(uut.attachStrategy).isInstanceOfAny(OnSwitchToTab.class);
42
- }
43
-
44
- @Test
45
- public void attach_delegatesToStrategy() {
46
- uut.attach();
47
- verify(mode).attach();
48
- }
49
-
50
- @Test
51
- public void onTabSelected() {
52
- ViewController<?> tab = mock(ViewController.class);
53
- uut.onTabSelected(tab);
54
- verify(mode).onTabSelected(tab);
55
- }
56
-
57
- @Test
58
- public void destroy_delegatesToStrategy() {
59
- uut.destroy();
60
- verify(mode).destroy();
61
- }
62
- }