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,57 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import android.app.Activity;
4
- import android.graphics.Color;
5
- import android.graphics.Paint;
6
-
7
- import com.reactnativenavigation.BaseTest;
8
- import com.reactnativenavigation.mocks.TypefaceLoaderMock;
9
- import com.reactnativenavigation.options.ButtonOptions;
10
- import com.reactnativenavigation.options.params.Colour;
11
- import com.reactnativenavigation.options.params.Fraction;
12
- import com.reactnativenavigation.options.params.ThemeColour;
13
- import com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonSpan;
14
-
15
- import org.jetbrains.annotations.NotNull;
16
- import org.junit.Test;
17
- import org.robolectric.annotation.Config;
18
-
19
- import static org.assertj.core.api.Java6Assertions.assertThat;
20
-
21
- @Config(qualifiers = "xhdpi")
22
- public class ButtonSpanTest extends BaseTest {
23
- private ButtonSpan uut;
24
- private ButtonOptions button;
25
- private Activity activity;
26
-
27
- @Override
28
- public void beforeEach() {
29
- button = createButton();
30
- activity = newActivity();
31
- uut = new ButtonSpan(activity, button, new TypefaceLoaderMock());
32
- }
33
-
34
- @Test
35
- public void apply_colorIsNotHandled() {
36
- Paint paint = new Paint();
37
- uut.apply(paint);
38
-
39
- assertThat(paint.getColor()).isNotEqualTo(button.color.get());
40
- }
41
-
42
- @Test
43
- public void apply_fontSizeIsAppliedInDp() {
44
- button.fontSize = new Fraction(14);
45
- Paint paint = new Paint();
46
- uut.apply(paint);
47
-
48
- assertThat(paint.getTextSize()).isEqualTo(UiUtils.dpToPx(activity, 14));
49
- }
50
-
51
- @NotNull
52
- private ButtonOptions createButton() {
53
- ButtonOptions button = new ButtonOptions();
54
- button.color = new ThemeColour(new Colour(Color.RED));
55
- return button;
56
- }
57
- }
@@ -1,17 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import com.reactnativenavigation.*;
4
-
5
- import org.junit.*;
6
-
7
- import static org.assertj.core.api.Java6Assertions.*;
8
-
9
- public class CompatUtilsTest extends BaseTest {
10
-
11
- @Test
12
- public void generateViewId() throws Exception {
13
- assertThat(CompatUtils.generateViewId())
14
- .isPositive()
15
- .isNotEqualTo(CompatUtils.generateViewId());
16
- }
17
- }
@@ -1,78 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import com.facebook.react.ReactInstanceManager;
4
- import com.reactnativenavigation.BaseTest;
5
- import com.reactnativenavigation.options.LayoutFactory;
6
- import com.reactnativenavigation.options.LayoutNode;
7
- import com.reactnativenavigation.react.events.EventEmitter;
8
- import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry;
9
-
10
- import org.json.JSONException;
11
- import org.json.JSONObject;
12
- import org.junit.Test;
13
- import org.mockito.Mockito;
14
-
15
- import java.util.HashMap;
16
-
17
- import static org.assertj.core.api.Java6Assertions.assertThat;
18
- import static org.assertj.core.api.Java6Assertions.fail;
19
- import static org.mockito.Mockito.mock;
20
- import static org.mockito.Mockito.when;
21
-
22
- public class LayoutFactoryTest extends BaseTest {
23
- private LayoutFactory uut;
24
- private ReactInstanceManager mockReactInstanceManager;
25
-
26
- @Override
27
- public void beforeEach() {
28
- super.beforeEach();
29
- mockReactInstanceManager = mock(ReactInstanceManager.class);
30
- uut = new LayoutFactory(mockReactInstanceManager);
31
- uut.init(
32
- newActivity(),
33
- Mockito.mock(EventEmitter.class),
34
- new ChildControllersRegistry(),
35
- new HashMap<>()
36
- );
37
- }
38
-
39
- @Test
40
- public void sanity() throws JSONException {
41
- assertThat(uut.create(component())).isNotNull();
42
- }
43
-
44
- @Test
45
- public void shouldParseOptionsWhenReactContextIsNull() {
46
- when(mockReactInstanceManager.getCurrentReactContext()).thenReturn(null);
47
- try {
48
- uut.create(component());
49
- } catch (Exception e) {
50
- fail("Create should not fail! when react instance has null context");
51
- }
52
- }
53
-
54
- @Test
55
- public void defaultOptionsAreNotNull() {
56
- assertThat(uut.getDefaultOptions()).isNotNull();
57
- boolean exceptionThrown = false;
58
- try {
59
- //noinspection ConstantConditions
60
- uut.setDefaultOptions(null);
61
- } catch (AssertionError exception) {
62
- exceptionThrown = true;
63
- }
64
- assertThat(exceptionThrown).isTrue();
65
- }
66
-
67
- private LayoutNode component() throws JSONException {
68
- final JSONObject component = new JSONObject();
69
- final JSONObject layout = new JSONObject();
70
- final JSONObject backgroundColor = new JSONObject();
71
- backgroundColor.put("dark",0);
72
- backgroundColor.put("light",1);
73
- layout.put("backgroundColor",backgroundColor );
74
- component.put("name", "com.component");
75
- component.put("options",new JSONObject().put("layout", layout));
76
- return new LayoutNode("Component1", LayoutNode.Type.Component, component, null);
77
- }
78
- }
@@ -1,47 +0,0 @@
1
- package com.reactnativenavigation.utils
2
-
3
- import android.app.Activity
4
- import android.view.MotionEvent
5
- import android.view.View
6
- import android.widget.FrameLayout
7
- import org.mockito.kotlin.mock
8
- import com.reactnativenavigation.BaseTest
9
- import org.assertj.core.api.Java6Assertions.assertThat
10
- import org.junit.Test
11
-
12
- class MotionEventTest : BaseTest() {
13
- private lateinit var uut: MotionEvent
14
- private lateinit var activity: Activity
15
- private lateinit var parent: FrameLayout
16
- private val x = 173f
17
- private val y = 249f
18
-
19
- override fun beforeEach() {
20
- uut = MotionEvent.obtain(0L, 0, 0, x, y, 0)
21
- activity = newActivity()
22
- parent = FrameLayout(activity)
23
- activity.setContentView(parent)
24
- }
25
-
26
- @Test
27
- fun coordinatesInsideView() {
28
- val v: View = mock()
29
- assertThat(uut.coordinatesInsideView(v)).isFalse()
30
- }
31
-
32
- @Test
33
- fun coordinatesInsideView_inside() {
34
- val view = View(activity)
35
- parent.addView(view, 200, 300)
36
- idleMainLooper()
37
- assertThat(uut.coordinatesInsideView(view)).isTrue()
38
- }
39
-
40
- @Test
41
- fun coordinatesInsideView_outside() {
42
- val view = View(activity)
43
- parent.addView(view, 200, 300)
44
- view.top = (y + 1).toInt()
45
- assertThat(uut.coordinatesInsideView(view)).isFalse()
46
- }
47
- }
@@ -1,60 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import com.facebook.react.bridge.Promise;
4
- import com.reactnativenavigation.BaseTest;
5
- import com.reactnativenavigation.react.NativeCommandListener;
6
- import com.reactnativenavigation.react.events.EventEmitter;
7
-
8
- import org.junit.Test;
9
- import org.mockito.ArgumentCaptor;
10
- import org.mockito.Mockito;
11
-
12
- import static org.assertj.core.api.Java6Assertions.assertThat;
13
- import static org.mockito.Mockito.times;
14
- import static org.mockito.Mockito.verify;
15
- import static org.mockito.Mockito.when;
16
-
17
- public class NativeCommandListenerTest extends BaseTest {
18
- private static final String COMMAND_NAME = "someCommandName";
19
- private static final String COMMAND_ID = "someCommand";
20
- private static final String CHILD_ID = "someChild";
21
- private static final long NOW = 1535374334;
22
-
23
- private EventEmitter eventEmitter;
24
- private Promise promise;
25
-
26
- private NativeCommandListener uut;
27
-
28
- @Override
29
- public void beforeEach() {
30
- promise = Mockito.mock(Promise.class);
31
- eventEmitter = Mockito.mock(EventEmitter.class);
32
- uut = new NativeCommandListener(COMMAND_NAME, COMMAND_ID, promise, eventEmitter, mockNow());
33
- }
34
-
35
- @Test
36
- public void onSuccess() {
37
- uut.onSuccess(CHILD_ID);
38
- verify(promise, times(1)).resolve(CHILD_ID);
39
- }
40
-
41
- @Test
42
- public void onSuccess_emitsNavigationEvent() {
43
- uut.onSuccess(CHILD_ID);
44
- verify(eventEmitter, times(1)).emitCommandCompleted(COMMAND_NAME, COMMAND_ID, NOW);
45
- }
46
-
47
- @Test
48
- public void onError() {
49
- uut.onError("something which is wrong");
50
- ArgumentCaptor<Throwable> captor = ArgumentCaptor.forClass(Throwable.class);
51
- verify(promise, times(1)).reject(captor.capture());
52
- assertThat(captor.getValue().getMessage().equals("something which is wrong"));
53
- }
54
-
55
- private Now mockNow() {
56
- Now now = Mockito.mock(Now.class);
57
- when(now.now()).then(i -> NOW);
58
- return now;
59
- }
60
- }
@@ -1,16 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import com.reactnativenavigation.options.Options;
4
- import com.reactnativenavigation.options.params.Text;
5
-
6
- import java.util.ArrayList;
7
-
8
- public class OptionHelper {
9
- public static Options createBottomTabOptions() {
10
- Options options = new Options();
11
- options.topBar.buttons.left = new ArrayList<>();
12
- options.bottomTabOptions.text = new Text("Tab");
13
- options.bottomTabOptions.icon = new Text("http://127.0.0.1/icon.png");
14
- return options;
15
- }
16
- }
@@ -1,26 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import com.reactnativenavigation.*;
4
-
5
- import org.junit.*;
6
-
7
- import static org.assertj.core.api.Java6Assertions.*;
8
-
9
- public class ReflectionUtilsTest extends BaseTest {
10
-
11
- static class Foo {
12
- private String bar = "old value";
13
- }
14
-
15
- @Test
16
- public void setField() throws Exception {
17
- Foo target = new Foo();
18
- ReflectionUtils.setField(target, "bar", "a new value");
19
- assertThat(target.bar).isEqualTo("a new value");
20
- }
21
-
22
- @Test
23
- public void getDeclaredField() throws Exception {
24
- assertThat(ReflectionUtils.getDeclaredField(new Foo(), "bar")).isEqualTo("old value");
25
- }
26
- }
@@ -1,19 +0,0 @@
1
- package com.reactnativenavigation.utils;
2
-
3
- import com.reactnativenavigation.*;
4
-
5
- import org.junit.*;
6
-
7
- import static org.assertj.core.api.Java6Assertions.*;
8
-
9
- public class StringUtilsTest extends BaseTest {
10
- @Test
11
- public void isEqual() throws Exception {
12
- assertThat(StringUtils.isEqual(null, "a")).isFalse();
13
- assertThat(StringUtils.isEqual("a", null)).isFalse();
14
- assertThat(StringUtils.isEqual("a", "b")).isFalse();
15
- assertThat(StringUtils.isEqual("a", "A")).isFalse();
16
- assertThat(StringUtils.isEqual("a", "a")).isTrue();
17
- assertThat(StringUtils.isEqual("", "")).isTrue();
18
- }
19
- }
@@ -1,27 +0,0 @@
1
- package com.reactnativenavigation.utils
2
-
3
- import android.graphics.Color
4
- import android.view.Window
5
- import com.reactnativenavigation.BaseTest
6
- import com.reactnativenavigation.utils.SystemUiUtils.STATUS_BAR_HEIGHT_TRANSLUCENCY
7
- import org.junit.Test
8
- import org.mockito.Mockito
9
- import org.mockito.kotlin.verify
10
- import kotlin.math.ceil
11
-
12
- class SystemUiUtilsTest : BaseTest() {
13
-
14
- @Test
15
- fun `setStatusBarColor - should change color considering alpha`() {
16
- val window = Mockito.mock(Window::class.java)
17
- val alphaColor = Color.argb(44, 22, 255, 255)
18
- val color = Color.argb(255, 22, 255, 255)
19
- SystemUiUtils.setStatusBarColor(window, alphaColor, false)
20
-
21
- verify(window).statusBarColor = alphaColor
22
-
23
- SystemUiUtils.setStatusBarColor(window, color, true)
24
-
25
- verify(window).statusBarColor = Color.argb(ceil(STATUS_BAR_HEIGHT_TRANSLUCENCY*255).toInt(), 22, 255, 255)
26
- }
27
- }