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.
- package/lib/android/app/build.gradle +12 -9
- package/lib/android/app/src/main/java/com/reactnativenavigation/options/Options.java +2 -0
- package/lib/android/app/src/main/java/com/reactnativenavigation/options/layout/LayoutInsets.kt +44 -0
- package/lib/android/app/src/main/java/com/reactnativenavigation/options/layout/LayoutOptions.kt +71 -0
- package/lib/android/app/src/main/java/com/reactnativenavigation/utils/PrimitiveExt.kt +9 -0
- package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java +4 -3
- package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/navigator/Navigator.java +5 -0
- package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java +23 -7
- package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +12 -3
- package/lib/dist/src/interfaces/Options.d.ts +10 -0
- package/lib/ios/RNNBasePresenter.m +17 -0
- package/lib/ios/RNNBottomTabsController.m +1 -0
- package/lib/ios/RNNComponentViewController.m +5 -0
- package/lib/ios/RNNLayoutOptions.h +2 -1
- package/lib/ios/RNNLayoutOptions.m +4 -0
- package/lib/ios/RNNStackPresenter.m +1 -0
- package/lib/src/interfaces/Options.ts +12 -0
- package/package.json +3 -1
- package/.buildkite/pipeline.yml +0 -59
- package/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutOptions.java +0 -48
- package/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java +0 -178
- package/lib/android/app/src/test/java/com/reactnativenavigation/EnvironmentTest.java +0 -43
- package/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java +0 -23
- package/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java +0 -35
- package/lib/android/app/src/test/java/com/reactnativenavigation/TestUtils.java +0 -62
- package/lib/android/app/src/test/java/com/reactnativenavigation/fakes/IconResolverFake.kt +0 -8
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/BackDrawable.java +0 -30
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/ImageLoaderMock.kt +0 -49
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/Mocks.kt +0 -18
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleComponentViewController.java +0 -15
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleOverlay.java +0 -54
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/SimpleViewController.java +0 -113
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentLayout.java +0 -79
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestComponentViewCreator.java +0 -18
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java +0 -71
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarButtonCreatorMock.java +0 -34
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java +0 -20
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarBackgroundViewCreatorMock.java +0 -20
- package/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TypefaceLoaderMock.kt +0 -21
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/LayoutNodeParserTest.java +0 -51
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/OptionsTest.java +0 -315
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/OrientationOptionsTest.java +0 -81
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/TopBarButtonsTest.kt +0 -95
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/TransitionAnimationOptionsTest.kt +0 -122
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/BoolParserTest.java +0 -28
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/ColorParseTest.java +0 -50
- package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/JSONParserTest.java +0 -64
- package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/PresenterTest.java +0 -56
- package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/RenderCheckerTest.java +0 -59
- package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/SideMenuPresenterTest.java +0 -35
- package/lib/android/app/src/test/java/com/reactnativenavigation/react/NavigationModuleTest.java +0 -102
- package/lib/android/app/src/test/java/com/reactnativenavigation/react/ReloadListenerTest.java +0 -24
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/AnimationHelper.kt +0 -33
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonPresenterTest.java +0 -241
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ButtonSpanTest.java +0 -57
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/CompatUtilsTest.java +0 -17
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/LayoutFactoryTest.java +0 -78
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/MotionEventTest.kt +0 -47
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/NativeCommandListenerTest.java +0 -60
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/OptionHelper.java +0 -16
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ReflectionUtilsTest.java +0 -26
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/StringUtilsTest.java +0 -19
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/SystemUiUtilsTest.kt +0 -27
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleAndButtonsMeasurerTest.kt +0 -357
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/TitleBarHelper.java +0 -54
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiThreadTest.java +0 -29
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/UiUtilsTest.java +0 -22
- package/lib/android/app/src/test/java/com/reactnativenavigation/utils/ViewHelper.java +0 -9
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/OptionsApplyingTest.java +0 -149
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenterTest.java +0 -206
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsAttacherTest.java +0 -62
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt +0 -589
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsPresenterTest.kt +0 -173
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AfterInitialTabTest.java +0 -38
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java +0 -86
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/OnSwitchToTabTest.java +0 -31
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/TogetherTest.java +0 -20
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/button/NavigationIconResolverTest.java +0 -78
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java +0 -80
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java +0 -56
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewControllerTest.java +0 -216
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentViewControllerTest.java +0 -97
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/FragmentCreatorMock.java +0 -34
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/SomeFragment.java +0 -8
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/fakes/FakeParentController.kt +0 -33
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorMock.java +0 -40
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt +0 -213
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalPresenterTest.java +0 -319
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java +0 -367
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/NavigatorTest.java +0 -898
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt +0 -254
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/overlay/OverlayManagerTest.java +0 -108
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/parent/ParentControllerTest.java +0 -299
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/sidemenu/SideMenuControllerTest.java +0 -446
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java +0 -77
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/FloatingActionButtonTest.java +0 -154
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/IdStackTest.java +0 -114
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt +0 -241
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackControllerTest.kt +0 -1165
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenterTest.kt +0 -1081
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java +0 -61
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java +0 -43
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java +0 -120
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt +0 -432
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/toptabs/TopTabsViewControllerTest.java +0 -249
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerTest.java +0 -337
- package/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegateTest.java +0 -68
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/OverlayTouchDelegateTest.java +0 -60
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/TitleAndButtonsContainerTest.kt +0 -477
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/TopBarTest.java +0 -82
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/BaseViewAnimatorTest.kt +0 -109
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/animations/DefaultViewAnimatorCreatorFake.kt +0 -36
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsContainerTest.kt +0 -101
- package/lib/android/app/src/test/java/com/reactnativenavigation/views/bottomtabs/BottomTabsTest.kt +0 -40
- package/lib/android/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +0 -1
package/lib/android/app/src/test/java/com/reactnativenavigation/options/OrientationOptionsTest.java
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.options;
|
|
2
|
-
|
|
3
|
-
import com.reactnativenavigation.BaseTest;
|
|
4
|
-
|
|
5
|
-
import org.json.JSONArray;
|
|
6
|
-
import org.json.JSONException;
|
|
7
|
-
import org.json.JSONObject;
|
|
8
|
-
import org.junit.Test;
|
|
9
|
-
|
|
10
|
-
import java.util.Arrays;
|
|
11
|
-
|
|
12
|
-
import static org.assertj.core.api.Java6Assertions.assertThat;
|
|
13
|
-
|
|
14
|
-
public class OrientationOptionsTest extends BaseTest {
|
|
15
|
-
|
|
16
|
-
@Override
|
|
17
|
-
public void beforeEach() {
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
@Test
|
|
22
|
-
public void parse() {
|
|
23
|
-
OrientationOptions options = OrientationOptions.parse(create("default"));
|
|
24
|
-
assertThat(options.orientations).hasSize(1);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
@Test
|
|
28
|
-
public void parseOrientations() {
|
|
29
|
-
OrientationOptions options = OrientationOptions.parse(create("default", "landscape", "portrait"));
|
|
30
|
-
assertThat(options.orientations.get(0)).isEqualTo(Orientation.Default);
|
|
31
|
-
assertThat(options.orientations.get(1)).isEqualTo(Orientation.Landscape);
|
|
32
|
-
assertThat(options.orientations.get(2)).isEqualTo(Orientation.Portrait);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
@Test
|
|
36
|
-
public void parseSingleOrientation() {
|
|
37
|
-
OrientationOptions options = OrientationOptions.parse(create("landscape"));
|
|
38
|
-
assertThat(options.orientations.get(0)).isEqualTo(Orientation.Landscape);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@Test
|
|
42
|
-
public void landscapePortrait_regardedAsUserOrientation() {
|
|
43
|
-
OrientationOptions options = OrientationOptions.parse(create("landscape", "portrait"));
|
|
44
|
-
assertThat(options.getValue()).isEqualTo(Orientation.PortraitLandscape.orientationCode);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@Test
|
|
48
|
-
public void portraitLandscape_regardedAsUserOrientation() {
|
|
49
|
-
OrientationOptions options = OrientationOptions.parse(create("portrait", "landscape"));
|
|
50
|
-
assertThat(options.getValue()).isEqualTo(Orientation.PortraitLandscape.orientationCode);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@Test
|
|
54
|
-
public void unsupportedOrientationsAreIgnored() {
|
|
55
|
-
OrientationOptions options = OrientationOptions.parse(create("default", "autoRotate"));
|
|
56
|
-
assertThat(options.orientations).hasSize(1);
|
|
57
|
-
assertThat(options.orientations.get(0)).isEqualTo(Orientation.Default);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@Test
|
|
61
|
-
public void getValue_returnsDefaultIfUndefined() {
|
|
62
|
-
OrientationOptions options = new OrientationOptions();
|
|
63
|
-
assertThat(options.getValue()).isEqualTo(Orientation.Default.orientationCode);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@Test
|
|
67
|
-
public void hasValue_returnsFalseForOrientationDefault() {
|
|
68
|
-
OrientationOptions options = OrientationOptions.parse(create("default"));
|
|
69
|
-
assertThat(options.hasValue()).isFalse();
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
private JSONObject create(String... orientations) {
|
|
73
|
-
JSONObject orientation = new JSONObject();
|
|
74
|
-
try {
|
|
75
|
-
orientation.putOpt("orientation", orientations.length > 1 ? new JSONArray(Arrays.asList(orientations)) : orientations[0]);
|
|
76
|
-
} catch (JSONException e) {
|
|
77
|
-
throw new RuntimeException("Unable to create orientation object");
|
|
78
|
-
}
|
|
79
|
-
return orientation;
|
|
80
|
-
}
|
|
81
|
-
}
|
package/lib/android/app/src/test/java/com/reactnativenavigation/options/TopBarButtonsTest.kt
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.options
|
|
2
|
-
|
|
3
|
-
import android.app.Activity
|
|
4
|
-
import com.reactnativenavigation.BaseTest
|
|
5
|
-
import org.assertj.core.api.Java6Assertions
|
|
6
|
-
import org.assertj.core.api.Java6Assertions.assertThat
|
|
7
|
-
import org.json.JSONObject
|
|
8
|
-
import org.junit.Test
|
|
9
|
-
import java.lang.Exception
|
|
10
|
-
import kotlin.test.assertTrue
|
|
11
|
-
|
|
12
|
-
class TopBarButtonsTest : BaseTest() {
|
|
13
|
-
private final var ACCESSIBILITY_LABEL_AS_DEFAUL_OPTIONS: String = "accessibilityLabel as default option"
|
|
14
|
-
private final var ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS: String = "My accessibilityLabel explicitly given"
|
|
15
|
-
private final var OTHER_ACCESSIBILITY_LABEL: String = "Other accessibilityLabel"
|
|
16
|
-
private lateinit var uut: TopBarButtons
|
|
17
|
-
private var activity: Activity? = null
|
|
18
|
-
|
|
19
|
-
override fun beforeEach() {
|
|
20
|
-
uut = TopBarButtons()
|
|
21
|
-
activity = newActivity()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
fun createBackButtonJson(label: String?): JSONObject {
|
|
25
|
-
return JSONObject().put("accessibilityLabel", label);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
fun createTopBarOptionsJson(label: String?): JSONObject {
|
|
29
|
-
return JSONObject().put("backButton", createBackButtonJson(label))
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@Test
|
|
33
|
-
fun mergeWith_rightButtonsAreCopiedByValue() {
|
|
34
|
-
val right = arrayListOf(ButtonOptions(), ButtonOptions())
|
|
35
|
-
val other = TopBarButtons(right)
|
|
36
|
-
|
|
37
|
-
uut.mergeWith(other)
|
|
38
|
-
assertThat(uut.right).hasSize(2)
|
|
39
|
-
right.forEachIndexed { index, buttonOptions -> assertThat(buttonOptions).isNotEqualTo(uut.right!![index]) }
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@Test
|
|
43
|
-
fun mergeWithDefault_dontOverrideCustomAccessibilityLabel() {
|
|
44
|
-
val default: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_DEFAUL_OPTIONS))
|
|
45
|
-
val current: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS))
|
|
46
|
-
|
|
47
|
-
current.mergeWithDefault(default)
|
|
48
|
-
assertThat(current.back.accessibilityLabel.get()).isEqualTo(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@Test
|
|
52
|
-
fun mergeWithDefault_overrideDefaultAccessibilityLabel() {
|
|
53
|
-
val default: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_DEFAUL_OPTIONS))
|
|
54
|
-
val current: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(BackButton.DEFAULT_ACCESSIBILITY_LABEL))
|
|
55
|
-
|
|
56
|
-
current.mergeWithDefault(default)
|
|
57
|
-
assertThat(current.back.accessibilityLabel.get()).isEqualTo(ACCESSIBILITY_LABEL_AS_DEFAUL_OPTIONS)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@Test
|
|
61
|
-
fun mergeWithDefault_overrideEmptyAccessibilityLabel() {
|
|
62
|
-
val default: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_DEFAUL_OPTIONS))
|
|
63
|
-
val current: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(null))
|
|
64
|
-
|
|
65
|
-
current.mergeWithDefault(default)
|
|
66
|
-
assertThat(current.back.accessibilityLabel.get()).isEqualTo(ACCESSIBILITY_LABEL_AS_DEFAUL_OPTIONS)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@Test
|
|
70
|
-
fun mergeWith_dontOverrideCurrentAccessibilityLabelWhenPassEmptyValue() {
|
|
71
|
-
val current: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS))
|
|
72
|
-
val other: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(null))
|
|
73
|
-
|
|
74
|
-
current.mergeWith(other)
|
|
75
|
-
assertThat(current.back.accessibilityLabel.get()).isEqualTo(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS)
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
@Test
|
|
79
|
-
fun mergeWith_dontOverrideCurrentAccessibilityLabelWhenPassDefaultValue() {
|
|
80
|
-
val current: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS))
|
|
81
|
-
val other: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(BackButton.DEFAULT_ACCESSIBILITY_LABEL))
|
|
82
|
-
|
|
83
|
-
current.mergeWith(other)
|
|
84
|
-
assertThat(current.back.accessibilityLabel.get()).isEqualTo(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS)
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@Test
|
|
88
|
-
fun mergeWith_overridePreviousAccessibilityLabelWithNewValue() {
|
|
89
|
-
val current: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(ACCESSIBILITY_LABEL_AS_CUSTOM_OPTIONS))
|
|
90
|
-
val other: TopBarButtons = TopBarButtons.parse(activity, createTopBarOptionsJson(OTHER_ACCESSIBILITY_LABEL))
|
|
91
|
-
|
|
92
|
-
current.mergeWith(other)
|
|
93
|
-
assertThat(current.back.accessibilityLabel.get()).isEqualTo(OTHER_ACCESSIBILITY_LABEL)
|
|
94
|
-
}
|
|
95
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.options
|
|
2
|
-
import org.mockito.kotlin.mock
|
|
3
|
-
import org.mockito.kotlin.whenever
|
|
4
|
-
import com.reactnativenavigation.BaseTest
|
|
5
|
-
import org.assertj.core.api.Assertions.assertThat
|
|
6
|
-
import org.json.JSONArray
|
|
7
|
-
import org.json.JSONObject
|
|
8
|
-
import org.junit.Test
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class TransitionAnimationOptionsTest : BaseTest() {
|
|
12
|
-
lateinit var uut: TransitionAnimationOptions
|
|
13
|
-
|
|
14
|
-
@Test
|
|
15
|
-
fun `parse - empty for invalid payload`() {
|
|
16
|
-
uut = parseTransitionAnimationOptions(JSONObject())
|
|
17
|
-
assertThat(uut.hasValue()).isFalse()
|
|
18
|
-
assertThat(uut.enter.hasValue()).isFalse()
|
|
19
|
-
assertThat(uut.exit.hasValue()).isFalse()
|
|
20
|
-
|
|
21
|
-
uut = parseTransitionAnimationOptions(JSONObject().apply { put("some", "value") })
|
|
22
|
-
assertThat(uut.hasValue()).isFalse()
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@Test
|
|
26
|
-
fun `parse - should parse enabled animation options from valid payload`() {
|
|
27
|
-
uut = parseTransitionAnimationOptions(newModalAnimationJson(true))
|
|
28
|
-
assertThat(uut.hasValue()).isTrue()
|
|
29
|
-
assertThat(uut.enter.hasValue()).isTrue()
|
|
30
|
-
assertThat(uut.exit.hasValue()).isTrue()
|
|
31
|
-
assertThat(uut.exit.enabled.isTrueOrUndefined).isTrue()
|
|
32
|
-
assertThat(uut.enter.enabled.isTrueOrUndefined).isTrue()
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
@Test
|
|
36
|
-
fun `parse - should parse disabled animation options from valid payload`() {
|
|
37
|
-
uut = parseTransitionAnimationOptions(newModalAnimationJson(false))
|
|
38
|
-
assertThat(uut.hasValue()).isTrue()
|
|
39
|
-
assertThat(uut.enter.hasValue()).isTrue()
|
|
40
|
-
assertThat(uut.exit.hasValue()).isTrue()
|
|
41
|
-
assertThat(uut.exit.enabled.isTrueOrUndefined).isFalse()
|
|
42
|
-
assertThat(uut.enter.enabled.isTrueOrUndefined).isFalse()
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@Test
|
|
46
|
-
fun `hasValue should return true if one of enter, exit, sharedElements, elementTransitions has value `() {
|
|
47
|
-
uut = TransitionAnimationOptions()
|
|
48
|
-
assertThat(uut.hasValue()).isFalse()
|
|
49
|
-
|
|
50
|
-
uut = TransitionAnimationOptions(enter = AnimationOptions(newAnimationOptionsJson(false)))
|
|
51
|
-
assertThat(uut.hasValue()).isTrue()
|
|
52
|
-
|
|
53
|
-
uut = TransitionAnimationOptions(exit = AnimationOptions(newAnimationOptionsJson(false)))
|
|
54
|
-
assertThat(uut.hasValue()).isTrue()
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
val mockSharedElements: SharedElements = mock { }
|
|
58
|
-
whenever(mockSharedElements.hasValue()).thenReturn(true)
|
|
59
|
-
uut = TransitionAnimationOptions(sharedElements = mockSharedElements)
|
|
60
|
-
assertThat(uut.hasValue()).isTrue()
|
|
61
|
-
|
|
62
|
-
val mockElementsTransitions: ElementTransitions = mock { }
|
|
63
|
-
whenever(mockElementsTransitions.hasValue()).thenReturn(true)
|
|
64
|
-
uut = TransitionAnimationOptions(elementTransitions = mockElementsTransitions)
|
|
65
|
-
assertThat(uut.hasValue()).isTrue()
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
@Test
|
|
71
|
-
fun `hasElementTransition should return true if one of shared elements, element Transitions has value`() {
|
|
72
|
-
uut = TransitionAnimationOptions()
|
|
73
|
-
assertThat(uut.hasElementTransitions()).isFalse()
|
|
74
|
-
|
|
75
|
-
val mockSharedElements: SharedElements = mock { }
|
|
76
|
-
whenever(mockSharedElements.hasValue()).thenReturn(true)
|
|
77
|
-
uut = TransitionAnimationOptions(sharedElements = mockSharedElements)
|
|
78
|
-
assertThat(uut.hasElementTransitions()).isTrue()
|
|
79
|
-
|
|
80
|
-
val mockElementsTransitions: ElementTransitions = mock { }
|
|
81
|
-
whenever(mockElementsTransitions.hasValue()).thenReturn(true)
|
|
82
|
-
uut = TransitionAnimationOptions(elementTransitions = mockElementsTransitions)
|
|
83
|
-
assertThat(uut.hasElementTransitions()).isTrue()
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
fun newSharedElementAnimationOptionsJson() =
|
|
90
|
-
JSONArray().apply {
|
|
91
|
-
put(JSONObject().apply {
|
|
92
|
-
put("fromId", "1")
|
|
93
|
-
put("toId", "2")
|
|
94
|
-
put("duration", "30")
|
|
95
|
-
})
|
|
96
|
-
put(JSONObject().apply {
|
|
97
|
-
put("fromId", "3")
|
|
98
|
-
put("toId", "4")
|
|
99
|
-
put("duration", "30")
|
|
100
|
-
})
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
fun newAnimationOptionsJson(enabled: Boolean) =
|
|
104
|
-
JSONObject().apply {
|
|
105
|
-
put("enabled", enabled)
|
|
106
|
-
put("translationY", newBasicValueAnimationJson())
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
fun newBasicValueAnimationJson() =
|
|
110
|
-
JSONObject().apply {
|
|
111
|
-
put("from", 0.0)
|
|
112
|
-
put("to", 1.0)
|
|
113
|
-
put("duration", 100)
|
|
114
|
-
put("interpolation", JSONObject().apply { put("type", "decelerate") })
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
fun newModalAnimationJson(enabled: Boolean = true) =
|
|
119
|
-
JSONObject().apply {
|
|
120
|
-
put("enter", newAnimationOptionsJson(enabled))
|
|
121
|
-
put("exit", newAnimationOptionsJson(enabled))
|
|
122
|
-
}
|
package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/BoolParserTest.java
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.options.parsers;
|
|
2
|
-
|
|
3
|
-
import com.reactnativenavigation.BaseTest;
|
|
4
|
-
|
|
5
|
-
import org.json.JSONException;
|
|
6
|
-
import org.json.JSONObject;
|
|
7
|
-
import org.junit.Test;
|
|
8
|
-
|
|
9
|
-
import static org.assertj.core.api.Java6Assertions.assertThat;
|
|
10
|
-
|
|
11
|
-
public class BoolParserTest extends BaseTest {
|
|
12
|
-
|
|
13
|
-
@Test
|
|
14
|
-
public void parse() throws JSONException {
|
|
15
|
-
JSONObject json = new JSONObject();
|
|
16
|
-
json.put("value", true);
|
|
17
|
-
assertThat(BoolParser.parse(json, "value").get()).isTrue();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@Test
|
|
21
|
-
public void parseFirst() throws JSONException {
|
|
22
|
-
JSONObject json = new JSONObject();
|
|
23
|
-
json.put("value1", true);
|
|
24
|
-
json.put("value2", false);
|
|
25
|
-
assertThat(BoolParser.parseFirst(json, "value1", "value2").get()).isTrue();
|
|
26
|
-
assertThat(BoolParser.parseFirst(json, "value2", "value1").get()).isFalse();
|
|
27
|
-
}
|
|
28
|
-
}
|
package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/ColorParseTest.java
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.options.parsers;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments;
|
|
4
|
-
import com.facebook.react.bridge.JavaOnlyArray;
|
|
5
|
-
import com.facebook.react.bridge.JavaOnlyMap;
|
|
6
|
-
import com.reactnativenavigation.BaseTest;
|
|
7
|
-
import com.reactnativenavigation.options.params.DontApplyColour;
|
|
8
|
-
import com.reactnativenavigation.options.params.ReactPlatformColor;
|
|
9
|
-
|
|
10
|
-
import org.json.JSONArray;
|
|
11
|
-
import org.json.JSONException;
|
|
12
|
-
import org.json.JSONObject;
|
|
13
|
-
import org.junit.Test;
|
|
14
|
-
import org.mockito.MockedStatic;
|
|
15
|
-
import org.mockito.Mockito;
|
|
16
|
-
|
|
17
|
-
import static org.assertj.core.api.Java6Assertions.assertThat;
|
|
18
|
-
|
|
19
|
-
import android.app.Activity;
|
|
20
|
-
|
|
21
|
-
public class ColorParseTest extends BaseTest {
|
|
22
|
-
|
|
23
|
-
Activity activity;
|
|
24
|
-
@Override
|
|
25
|
-
public void beforeEach() {
|
|
26
|
-
super.beforeEach();
|
|
27
|
-
activity = newActivity();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@Test
|
|
31
|
-
public void nullIsParsedAsNoColor() throws JSONException {
|
|
32
|
-
JSONObject json = new JSONObject();
|
|
33
|
-
json.put("color", "NoColor");
|
|
34
|
-
assertThat(ColorParser.parse(null, json, "color")).isInstanceOf(DontApplyColour.class);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@Test
|
|
38
|
-
public void shouldParsePlatformColors() throws JSONException {
|
|
39
|
-
JSONObject color = new JSONObject();
|
|
40
|
-
final JSONArray jsonArray = new JSONArray();
|
|
41
|
-
jsonArray.put("@color/colorPrimary");
|
|
42
|
-
color.put("resource_paths",
|
|
43
|
-
jsonArray);
|
|
44
|
-
try (MockedStatic<Arguments> theMock = Mockito.mockStatic(Arguments.class)) {
|
|
45
|
-
theMock.when(Arguments::createMap).thenReturn(new JavaOnlyMap());
|
|
46
|
-
theMock.when(Arguments::createArray).thenReturn(new JavaOnlyArray());
|
|
47
|
-
assertThat(ColorParser.parse(activity, color, "color")).isInstanceOf(ReactPlatformColor.class);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
package/lib/android/app/src/test/java/com/reactnativenavigation/options/parsers/JSONParserTest.java
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.options.parsers;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.JavaOnlyArray;
|
|
4
|
-
import com.facebook.react.bridge.JavaOnlyMap;
|
|
5
|
-
import com.reactnativenavigation.BaseTest;
|
|
6
|
-
|
|
7
|
-
import org.json.JSONArray;
|
|
8
|
-
import org.json.JSONObject;
|
|
9
|
-
import org.junit.Test;
|
|
10
|
-
|
|
11
|
-
import static org.assertj.core.api.Java6Assertions.assertThat;
|
|
12
|
-
|
|
13
|
-
public class JSONParserTest extends BaseTest {
|
|
14
|
-
@Test
|
|
15
|
-
public void parsesMap() throws Exception {
|
|
16
|
-
JavaOnlyMap input = new JavaOnlyMap();
|
|
17
|
-
input.putString("keyString", "stringValue");
|
|
18
|
-
input.putInt("keyInt", 123);
|
|
19
|
-
input.putDouble("keyDouble", 123.456);
|
|
20
|
-
input.putBoolean("keyBoolean", true);
|
|
21
|
-
input.putArray("keyArray", new JavaOnlyArray());
|
|
22
|
-
input.putMap("keyMap", new JavaOnlyMap());
|
|
23
|
-
input.putNull("bla");
|
|
24
|
-
|
|
25
|
-
JSONObject result = new JSONParser().parse(input);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
assertThat(result.keys()).containsOnly(
|
|
29
|
-
"keyString",
|
|
30
|
-
"keyInt",
|
|
31
|
-
"keyDouble",
|
|
32
|
-
"keyBoolean",
|
|
33
|
-
"keyMap",
|
|
34
|
-
"keyArray");
|
|
35
|
-
|
|
36
|
-
assertThat(result.get("keyString")).isEqualTo("stringValue");
|
|
37
|
-
assertThat(result.get("keyInt")).isEqualTo(123);
|
|
38
|
-
assertThat(result.get("keyDouble")).isEqualTo(123.456);
|
|
39
|
-
assertThat(result.get("keyBoolean")).isEqualTo(true);
|
|
40
|
-
assertThat(result.getJSONObject("keyMap").keys()).isEmpty();
|
|
41
|
-
assertThat(result.getJSONArray("keyArray").length()).isZero();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@Test
|
|
45
|
-
public void parsesArrays() throws Exception {
|
|
46
|
-
JavaOnlyArray input = new JavaOnlyArray();
|
|
47
|
-
input.pushString("Hello");
|
|
48
|
-
input.pushInt(123);
|
|
49
|
-
input.pushDouble(123.456);
|
|
50
|
-
input.pushBoolean(true);
|
|
51
|
-
input.pushArray(new JavaOnlyArray());
|
|
52
|
-
input.pushMap(new JavaOnlyMap());
|
|
53
|
-
input.pushNull();
|
|
54
|
-
|
|
55
|
-
JSONArray result = new JSONParser().parse(input);
|
|
56
|
-
assertThat(result.length()).isEqualTo(6);
|
|
57
|
-
assertThat(result.get(0)).isEqualTo("Hello");
|
|
58
|
-
assertThat(result.get(1)).isEqualTo(123);
|
|
59
|
-
assertThat(result.get(2)).isEqualTo(123.456);
|
|
60
|
-
assertThat(result.get(3)).isEqualTo(true);
|
|
61
|
-
assertThat(result.getJSONArray(4).length()).isZero();
|
|
62
|
-
assertThat(result.getJSONObject(5).keys()).isEmpty();
|
|
63
|
-
}
|
|
64
|
-
}
|
package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/PresenterTest.java
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.presentation;
|
|
2
|
-
|
|
3
|
-
import android.app.Activity;
|
|
4
|
-
import android.view.View;
|
|
5
|
-
import android.view.ViewGroup;
|
|
6
|
-
import android.widget.FrameLayout;
|
|
7
|
-
|
|
8
|
-
import com.reactnativenavigation.BaseTest;
|
|
9
|
-
import com.reactnativenavigation.options.Options;
|
|
10
|
-
import com.reactnativenavigation.options.params.Bool;
|
|
11
|
-
import com.reactnativenavigation.utils.SystemUiUtils;
|
|
12
|
-
import com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter;
|
|
13
|
-
import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController;
|
|
14
|
-
|
|
15
|
-
import org.junit.Test;
|
|
16
|
-
import org.mockito.Mockito;
|
|
17
|
-
|
|
18
|
-
import static org.mockito.ArgumentMatchers.any;
|
|
19
|
-
import static org.mockito.ArgumentMatchers.eq;
|
|
20
|
-
import static org.mockito.Mockito.mock;
|
|
21
|
-
import static org.mockito.Mockito.times;
|
|
22
|
-
import static org.mockito.Mockito.verify;
|
|
23
|
-
|
|
24
|
-
public class PresenterTest extends BaseTest {
|
|
25
|
-
private Presenter uut;
|
|
26
|
-
private Activity activity;
|
|
27
|
-
private ViewController<ViewGroup> controller;
|
|
28
|
-
|
|
29
|
-
@Override
|
|
30
|
-
public void beforeEach() {
|
|
31
|
-
super.beforeEach();
|
|
32
|
-
activity = newActivity();
|
|
33
|
-
controller = mock(ViewController.class);
|
|
34
|
-
uut = new Presenter(activity, Options.EMPTY);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@Test
|
|
38
|
-
public void mergeStatusBarVisible_callsShowHide() {
|
|
39
|
-
mockSystemUiUtils(1,1,(mockedStatic)->{
|
|
40
|
-
ViewGroup spy = Mockito.spy(new FrameLayout(activity));
|
|
41
|
-
Mockito.when(controller.getView()).thenReturn(spy);
|
|
42
|
-
Mockito.when(controller.resolveCurrentOptions()).thenReturn(Options.EMPTY);
|
|
43
|
-
Options options = new Options();
|
|
44
|
-
options.statusBar.visible = new Bool(false);
|
|
45
|
-
uut.mergeOptions(controller, options);
|
|
46
|
-
mockedStatic.verify(
|
|
47
|
-
()-> SystemUiUtils.hideStatusBar(any(),eq(spy)),times(1));
|
|
48
|
-
|
|
49
|
-
options.statusBar.visible = new Bool(true);
|
|
50
|
-
uut.mergeOptions(controller, options);
|
|
51
|
-
mockedStatic.verify(
|
|
52
|
-
()-> SystemUiUtils.showStatusBar(any(),eq(spy)),times(1));
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
}
|
package/lib/android/app/src/test/java/com/reactnativenavigation/presentation/RenderCheckerTest.java
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.presentation;
|
|
2
|
-
|
|
3
|
-
import com.reactnativenavigation.BaseTest;
|
|
4
|
-
import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController;
|
|
5
|
-
import com.reactnativenavigation.utils.RenderChecker;
|
|
6
|
-
|
|
7
|
-
import org.junit.Test;
|
|
8
|
-
import org.mockito.Mockito;
|
|
9
|
-
|
|
10
|
-
import java.util.Arrays;
|
|
11
|
-
import java.util.Collection;
|
|
12
|
-
|
|
13
|
-
import static com.reactnativenavigation.utils.CollectionUtils.forEach;
|
|
14
|
-
import static org.assertj.core.api.Java6Assertions.assertThat;
|
|
15
|
-
import static org.mockito.Mockito.verify;
|
|
16
|
-
import static org.mockito.Mockito.when;
|
|
17
|
-
|
|
18
|
-
public class RenderCheckerTest extends BaseTest {
|
|
19
|
-
private RenderChecker uut;
|
|
20
|
-
|
|
21
|
-
@Override
|
|
22
|
-
public void beforeEach() {
|
|
23
|
-
uut = new RenderChecker();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@Test
|
|
27
|
-
public void areRendered() {
|
|
28
|
-
Collection<ViewController<?>> items = Arrays.asList(
|
|
29
|
-
renderedComponent(),
|
|
30
|
-
renderedComponent(),
|
|
31
|
-
renderedComponent()
|
|
32
|
-
);
|
|
33
|
-
assertThat(uut.areRendered(items)).isTrue();
|
|
34
|
-
forEach(items, i -> verify(i).isRendered());
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@Test
|
|
38
|
-
public void areRendered_reduce() {
|
|
39
|
-
Collection<ViewController<?>> items = Arrays.asList(
|
|
40
|
-
renderedComponent(),
|
|
41
|
-
notRenderedComponent(),
|
|
42
|
-
renderedComponent()
|
|
43
|
-
);
|
|
44
|
-
assertThat(uut.areRendered(items)).isFalse();
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
private ViewController<?> renderedComponent() {
|
|
49
|
-
ViewController<?> mock = Mockito.mock(ViewController.class);
|
|
50
|
-
when(mock.isRendered()).then(__ -> true);
|
|
51
|
-
return mock;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
private ViewController<?> notRenderedComponent() {
|
|
55
|
-
ViewController<?> mock = Mockito.mock(ViewController.class);
|
|
56
|
-
when(mock.isRendered()).then(__ -> false);
|
|
57
|
-
return mock;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
package com.reactnativenavigation.presentation;
|
|
2
|
-
|
|
3
|
-
import com.reactnativenavigation.BaseTest;
|
|
4
|
-
import com.reactnativenavigation.viewcontrollers.sidemenu.SideMenuPresenter;
|
|
5
|
-
import com.reactnativenavigation.options.SideMenuRootOptions;
|
|
6
|
-
import com.reactnativenavigation.options.params.Bool;
|
|
7
|
-
import com.reactnativenavigation.views.sidemenu.SideMenu;
|
|
8
|
-
|
|
9
|
-
import org.junit.Test;
|
|
10
|
-
import org.mockito.Mockito;
|
|
11
|
-
|
|
12
|
-
import static org.junit.Assert.assertFalse;
|
|
13
|
-
|
|
14
|
-
public class SideMenuPresenterTest extends BaseTest {
|
|
15
|
-
private SideMenuPresenter uut;
|
|
16
|
-
|
|
17
|
-
@Override
|
|
18
|
-
public void beforeEach() {
|
|
19
|
-
uut = new SideMenuPresenter();
|
|
20
|
-
SideMenu sideMenu = Mockito.mock(SideMenu.class);
|
|
21
|
-
uut.bindView(sideMenu);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@Test
|
|
25
|
-
public void mergeVisibility_visibilityOptionsAreConsumed() {
|
|
26
|
-
SideMenuRootOptions options = new SideMenuRootOptions();
|
|
27
|
-
options.left.visible = new Bool(true);
|
|
28
|
-
options.right.visible = new Bool(true);
|
|
29
|
-
|
|
30
|
-
uut.mergeOptions(options);
|
|
31
|
-
|
|
32
|
-
assertFalse(options.right.visible.hasValue());
|
|
33
|
-
assertFalse(options.left.visible.hasValue());
|
|
34
|
-
}
|
|
35
|
-
}
|