react-native-navigation 7.24.3 → 7.25.0

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 (115) 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/RNNComponentViewController.m +5 -0
  14. package/lib/ios/RNNLayoutOptions.h +2 -1
  15. package/lib/ios/RNNLayoutOptions.m +4 -0
  16. package/lib/ios/RNNStackPresenter.m +1 -0
  17. package/lib/src/interfaces/Options.ts +12 -0
  18. package/package.json +3 -1
  19. package/.buildkite/pipeline.yml +0 -59
  20. package/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutOptions.java +0 -48
  21. package/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java +0 -178
  22. package/lib/android/app/src/test/java/com/reactnativenavigation/EnvironmentTest.java +0 -43
  23. package/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java +0 -23
  24. package/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java +0 -35
  25. package/lib/android/app/src/test/java/com/reactnativenavigation/TestUtils.java +0 -62
  26. package/lib/android/app/src/test/java/com/reactnativenavigation/fakes/IconResolverFake.kt +0 -8
  27. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/BackDrawable.java +0 -30
  28. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/ImageLoaderMock.kt +0 -49
  29. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/Mocks.kt +0 -18
  30. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleComponentViewController.java +0 -15
  31. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleOverlay.java +0 -54
  32. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleViewController.java +0 -113
  33. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentLayout.java +0 -79
  34. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentViewCreator.java +0 -18
  35. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java +0 -71
  36. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarButtonCreatorMock.java +0 -34
  37. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java +0 -20
  38. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarBackgroundViewCreatorMock.java +0 -20
  39. package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TypefaceLoaderMock.kt +0 -21
  40. package/lib/android/app/src/test/java/com/reactnativenavigation/options/LayoutNodeParserTest.java +0 -51
  41. package/lib/android/app/src/test/java/com/reactnativenavigation/options/OptionsTest.java +0 -315
  42. package/lib/android/app/src/test/java/com/reactnativenavigation/options/OrientationOptionsTest.java +0 -81
  43. package/lib/android/app/src/test/java/com/reactnativenavigation/options/TopBarButtonsTest.kt +0 -95
  44. package/lib/android/app/src/test/java/com/reactnativenavigation/options/TransitionAnimationOptionsTest.kt +0 -122
  45. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/BoolParserTest.java +0 -28
  46. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/ColorParseTest.java +0 -50
  47. package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/JSONParserTest.java +0 -64
  48. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/PresenterTest.java +0 -56
  49. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/RenderCheckerTest.java +0 -59
  50. package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/SideMenuPresenterTest.java +0 -35
  51. package/lib/android/app/src/test/java/com/reactnativenavigation/react/NavigationModuleTest.java +0 -102
  52. package/lib/android/app/src/test/java/com/reactnativenavigation/react/ReloadListenerTest.java +0 -24
  53. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/AnimationHelper.kt +0 -33
  54. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonPresenterTest.java +0 -241
  55. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonSpanTest.java +0 -57
  56. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/CompatUtilsTest.java +0 -17
  57. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/LayoutFactoryTest.java +0 -78
  58. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/MotionEventTest.kt +0 -47
  59. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/NativeCommandListenerTest.java +0 -60
  60. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/OptionHelper.java +0 -16
  61. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ReflectionUtilsTest.java +0 -26
  62. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/StringUtilsTest.java +0 -19
  63. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/SystemUiUtilsTest.kt +0 -27
  64. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleAndButtonsMeasurerTest.kt +0 -357
  65. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleBarHelper.java +0 -54
  66. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiThreadTest.java +0 -29
  67. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiUtilsTest.java +0 -22
  68. package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ViewHelper.java +0 -9
  69. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/OptionsApplyingTest.java +0 -149
  70. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenterTest.java +0 -206
  71. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsAttacherTest.java +0 -62
  72. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt +0 -589
  73. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsPresenterTest.kt +0 -173
  74. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AfterInitialTabTest.java +0 -38
  75. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java +0 -86
  76. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/OnSwitchToTabTest.java +0 -31
  77. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/TogetherTest.java +0 -20
  78. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/button/NavigationIconResolverTest.java +0 -78
  79. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java +0 -80
  80. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java +0 -56
  81. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewControllerTest.java +0 -216
  82. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentViewControllerTest.java +0 -97
  83. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/FragmentCreatorMock.java +0 -34
  84. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/SomeFragment.java +0 -8
  85. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/fakes/FakeParentController.kt +0 -33
  86. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorMock.java +0 -40
  87. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt +0 -213
  88. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalPresenterTest.java +0 -319
  89. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java +0 -367
  90. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/NavigatorTest.java +0 -898
  91. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt +0 -254
  92. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/overlay/OverlayManagerTest.java +0 -108
  93. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/parent/ParentControllerTest.java +0 -299
  94. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/sidemenu/SideMenuControllerTest.java +0 -446
  95. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java +0 -77
  96. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/FloatingActionButtonTest.java +0 -154
  97. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/IdStackTest.java +0 -114
  98. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt +0 -241
  99. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackControllerTest.kt +0 -1165
  100. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenterTest.kt +0 -1081
  101. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java +0 -61
  102. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java +0 -43
  103. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java +0 -120
  104. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt +0 -432
  105. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/toptabs/TopTabsViewControllerTest.java +0 -249
  106. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerTest.java +0 -337
  107. package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegateTest.java +0 -68
  108. package/lib/android/app/src/test/java/com/reactnativenavigation/views/OverlayTouchDelegateTest.java +0 -60
  109. package/lib/android/app/src/test/java/com/reactnativenavigation/views/TitleAndButtonsContainerTest.kt +0 -477
  110. package/lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarTest.java +0 -82
  111. package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/BaseViewAnimatorTest.kt +0 -109
  112. package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/DefaultViewAnimatorCreatorFake.kt +0 -36
  113. package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsContainerTest.kt +0 -101
  114. package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsTest.kt +0 -40
  115. package/lib/android/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +0 -1
@@ -1,109 +0,0 @@
1
- package com.reactnativenavigation.views.animations
2
-
3
- import android.animation.Animator
4
- import android.view.View
5
- import com.reactnativenavigation.BaseTest
6
- import com.reactnativenavigation.options.AnimationOptions
7
- import org.assertj.core.api.Java6Assertions.assertThat
8
- import org.junit.Test
9
- import org.mockito.kotlin.mock
10
- import org.mockito.kotlin.spy
11
- import org.mockito.kotlin.verify
12
- import org.mockito.kotlin.whenever
13
-
14
- class BaseViewAnimatorTest : BaseTest() {
15
- private lateinit var uut: BaseViewAnimator<View>
16
- private lateinit var view: View
17
- private lateinit var defaultAnimatorCreator: ViewAnimatorCreator
18
-
19
- private val defaultShowAnimator: Animator
20
- get() = defaultAnimatorCreator.getShowAnimator(view, BaseViewAnimator.HideDirection.Up, 0f)
21
- private val defaultHideAnimator: Animator
22
- get() = defaultAnimatorCreator.getHideAnimator(view, BaseViewAnimator.HideDirection.Up, 0f)
23
-
24
-
25
- override fun beforeEach() {
26
- view = View(newActivity())
27
- defaultAnimatorCreator = DefaultViewAnimatorCreatorFake()
28
- uut = BaseViewAnimator(
29
- hideDirection = BaseViewAnimator.HideDirection.Up,
30
- view = view,
31
- defaultAnimatorCreator = defaultAnimatorCreator
32
- )
33
- }
34
-
35
- @Test
36
- fun show() {
37
- view.visibility = View.GONE
38
-
39
- assertNotAnimating()
40
- uut.show()
41
- assertAnimatingShow()
42
- }
43
-
44
- @Test
45
- fun show_doesNothingIsAlreadyAnimatingShow() {
46
- view.visibility = View.GONE
47
- uut.show()
48
-
49
- val animator = uut.showAnimator
50
- uut.show()
51
- assertThat(animator).isEqualTo(uut.showAnimator)
52
- }
53
-
54
- @Test
55
- fun show_updatesTranslationDy() {
56
- view.visibility = View.GONE
57
- val options = spy<AnimationOptions>()
58
- whenever(options.hasValue()).thenReturn(true)
59
-
60
- uut.show(options, 123f)
61
- verify(options).setValueDy(View.TRANSLATION_Y, -123f, 0f)
62
- }
63
-
64
- @Test
65
- fun show_usesDefaultShowAnimatorIfAnimationIsNotSpecifiedInOptions() {
66
- view.visibility = View.GONE
67
- uut.show(mock())
68
- assertThat(uut.showAnimator).isEqualTo(defaultShowAnimator)
69
- }
70
-
71
- @Test
72
- fun hide() {
73
- assertNotAnimating()
74
- val onAnimationEnd = mock<Runnable>()
75
- uut.hide(mock(), 0f, onAnimationEnd)
76
- assertAnimatingHide()
77
-
78
- uut.hideAnimator.end()
79
- verify(onAnimationEnd).run()
80
- }
81
-
82
- @Test
83
- fun hide_doesNothingIfAlreadyAnimatingHide() {
84
- uut.hide(mock())
85
-
86
- val animator = uut.hideAnimator
87
- uut.hide(mock())
88
- assertThat(animator).isEqualTo(uut.hideAnimator)
89
- }
90
-
91
- @Test
92
- fun hide_updatesTranslationDy() {
93
- val options = spy<AnimationOptions>()
94
- whenever(options.hasValue()).thenReturn(true)
95
-
96
- uut.hide(options, 123f)
97
- verify(options).setValueDy(View.TRANSLATION_Y, 0f, -123f)
98
- }
99
-
100
- @Test
101
- fun hide_usesDefaultHideAnimatorIfAnimationIsNotSpecifiedInOptions() {
102
- uut.hide(mock())
103
- assertThat(uut.hideAnimator).isEqualTo(defaultHideAnimator)
104
- }
105
-
106
- private fun assertNotAnimating() = assertThat(uut.isAnimatingHide() && uut.isAnimatingShow()).isFalse()
107
- private fun assertAnimatingShow() = assertThat(uut.isAnimatingShow() && !uut.isAnimatingHide()).isTrue()
108
- private fun assertAnimatingHide() = assertThat(uut.isAnimatingHide() && !uut.isAnimatingShow()).isTrue()
109
- }
@@ -1,36 +0,0 @@
1
- package com.reactnativenavigation.views.animations
2
-
3
- import android.animation.Animator
4
- import android.animation.ObjectAnimator
5
- import android.view.View
6
- import com.reactnativenavigation.utils.ViewUtils
7
-
8
- class DefaultViewAnimatorCreatorFake : ViewAnimatorCreator {
9
- private var showAnimator: Animator? = null
10
- private var hideAnimator: Animator? = null
11
-
12
- override fun getShowAnimator(view: View, hideDirection: BaseViewAnimator.HideDirection, translationStart: Float): Animator {
13
- if (showAnimator == null) {
14
- val direction = if (hideDirection == BaseViewAnimator.HideDirection.Up) 1 else -1
15
- showAnimator = ObjectAnimator.ofFloat(
16
- view,
17
- View.TRANSLATION_Y,
18
- direction * (-ViewUtils.getHeight(view) - translationStart),
19
- 0f)
20
- }
21
- return showAnimator!!
22
- }
23
-
24
- override fun getHideAnimator(view: View, hideDirection: BaseViewAnimator.HideDirection, additionalDy: Float): Animator {
25
- if (hideAnimator == null) {
26
- val direction = if (hideDirection == BaseViewAnimator.HideDirection.Up) -1 else 1
27
- hideAnimator = ObjectAnimator.ofFloat(
28
- view,
29
- View.TRANSLATION_Y,
30
- view.translationY,
31
- direction * (view.measuredHeight + additionalDy)
32
- )
33
- }
34
- return hideAnimator!!
35
- }
36
- }
@@ -1,101 +0,0 @@
1
- package com.reactnativenavigation.views.bottomtabs
2
-
3
- import android.app.Activity
4
- import android.graphics.Color
5
- import android.graphics.drawable.ColorDrawable
6
- import android.view.View
7
- import android.widget.LinearLayout
8
- import androidx.core.graphics.ColorUtils
9
- import org.mockito.kotlin.*
10
- import com.reactnativenavigation.BaseTest
11
- import org.assertj.core.api.Assertions.assertThat
12
- import org.junit.Test
13
- import kotlin.math.roundToInt
14
-
15
- class BottomTabsContainerTest : BaseTest() {
16
- private lateinit var uut: BottomTabsContainer
17
- private lateinit var bottomTabs: BottomTabs
18
-
19
- private lateinit var activity: Activity
20
-
21
- override fun beforeEach() {
22
- this.bottomTabs = mock()
23
- this.activity = newActivity()
24
- uut = spy(BottomTabsContainer(activity, bottomTabs))
25
- }
26
-
27
- @Test
28
- fun `init - should have only one child as vertical LinearLayout with border and bottom tabs`() {
29
- assertThat(uut.childCount).isEqualTo(1)
30
- val childAt = uut.getChildAt(0)
31
- assertThat(childAt).isInstanceOf(LinearLayout::class.java)
32
- val linearLayout = childAt as LinearLayout
33
- assertThat(linearLayout.getChildAt(0)).isInstanceOf(TopOutlineView::class.java)
34
- assertThat(linearLayout.getChildAt(1)).isInstanceOf(BottomTabs::class.java)
35
- }
36
-
37
- @Test
38
- fun `init - should have defaults set for shadow and topOutline`() {
39
- val topOutLineView = uut.topOutLineView
40
- val background = topOutLineView.background as? ColorDrawable
41
- assertThat(background?.color).isEqualTo(DEFAULT_TOP_OUTLINE_COLOR)
42
- assertThat(topOutLineView.layoutParams.height).isEqualTo(DEFAULT_TOP_OUTLINE_SIZE_PX)
43
- assertThat(uut.shadowColor).isEqualTo(DEFAULT_SHADOW_COLOR)
44
- assertThat(uut.shadowDistance).isEqualTo(DEFAULT_SHADOW_DISTANCE)
45
- assertThat(uut.shadowAngle).isEqualTo(DEFAULT_SHADOW_ANGLE)
46
-
47
- }
48
-
49
- @Test
50
- fun `should change top outline color, no visible changes`() {
51
- uut.setTopOutLineColor(Color.RED)
52
- val topOutLineView = uut.topOutLineView
53
- val background = topOutLineView.background as? ColorDrawable
54
- assertThat(background?.color).isEqualTo(Color.RED)
55
- assertThat(topOutLineView.visibility).isEqualTo(View.GONE)
56
- }
57
-
58
- @Test
59
- fun `should change top outline width, no visible changes`() {
60
- uut.setTopOutlineWidth(10)
61
- val topOutLineView = uut.topOutLineView
62
- assertThat(topOutLineView.layoutParams.height).isEqualTo(10)
63
- assertThat(topOutLineView.visibility).isEqualTo(View.GONE)
64
- }
65
-
66
- @Test
67
- fun `should show top outline when calling show`() {
68
- val topOutLineView = uut.topOutLineView
69
- assertThat(topOutLineView.visibility).isEqualTo(View.GONE)
70
-
71
- uut.showTopLine()
72
- assertThat(topOutLineView.visibility).isEqualTo(View.VISIBLE)
73
- }
74
-
75
- @Test
76
- fun `should clear top outline when calling show`() {
77
- val topOutLineView = uut.topOutLineView
78
- uut.showTopLine()
79
- assertThat(topOutLineView.visibility).isEqualTo(View.VISIBLE)
80
-
81
- uut.clearTopOutline()
82
- assertThat(topOutLineView.visibility).isEqualTo(View.GONE)
83
- }
84
-
85
- @Test
86
- fun `should update layout upon shadow color change`() {
87
- uut.shadowColor = Color.RED
88
- verify(uut, times(1)).requestLayout()
89
- assertThat(uut.shadowColor).isEqualTo(Color.RED)
90
- }
91
-
92
- @Test
93
- fun `should update color alpha upon changing opacity`() {
94
- uut.shadowColor = Color.RED
95
- assertThat(uut.shadowColor).isEqualTo(Color.RED)
96
- uut.setShadowOpacity(0.5f)
97
- assertThat(uut.shadowColor).isEqualTo(ColorUtils.setAlphaComponent(Color.RED, (0.5f * 0xFF).roundToInt()))
98
- }
99
-
100
-
101
- }
@@ -1,40 +0,0 @@
1
- package com.reactnativenavigation.views.bottomtabs
2
-
3
- import org.mockito.kotlin.never
4
- import org.mockito.kotlin.spy
5
- import org.mockito.kotlin.times
6
- import org.mockito.kotlin.verify
7
- import com.reactnativenavigation.BaseTest
8
- import org.junit.Test
9
-
10
- class BottomTabsTest : BaseTest() {
11
- private lateinit var uut: BottomTabs
12
-
13
- override fun beforeEach() {
14
- uut = spy(BottomTabs(newActivity()))
15
- }
16
-
17
- @Test
18
- fun createItems_triggersSuperCall() {
19
- uut.createItems()
20
- verify(uut).superCreateItems()
21
- }
22
-
23
- @Test
24
- fun createItems_superNotInvokedWhenDisabled() {
25
- uut.disableItemsCreation()
26
- uut.createItems()
27
- verify(uut, never()).superCreateItems()
28
- }
29
-
30
- @Test
31
- fun createItems_superInvokedAfterItemCreationIsEnabledOnlyOnce() {
32
- uut.disableItemsCreation()
33
- uut.createItems()
34
- verify(uut, never()).superCreateItems()
35
-
36
- uut.enableItemsCreation()
37
- uut.enableItemsCreation()
38
- verify(uut, times(1)).superCreateItems()
39
- }
40
- }