Search in sources :

Example 1 with ChildControllersRegistry

use of com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry in project react-native-navigation by wix.

the class OptionsApplyingTest method beforeEach.

@Override
public void beforeEach() {
    super.beforeEach();
    activity = newActivity();
    initialNavigationOptions = new Options();
    view = spy(new TestComponentLayout(activity, new TestReactView(activity)));
    view.asView().setLayoutParams(new RelativeLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT));
    uut = new ComponentViewController(activity, new ChildControllersRegistry(), "componentId1", "componentName", (activity1, componentId, componentName) -> view, initialNavigationOptions, new Presenter(activity, new Options()), new ComponentPresenter(Options.EMPTY)) {

        @Override
        public boolean isViewShown() {
            return true;
        }
    };
    TopBarController topBarController = new TopBarController() {

        @Override
        protected TopBar createTopBar(Context context, StackLayout stackLayout) {
            topBar = spy(super.createTopBar(context, stackLayout));
            return topBar;
        }
    };
    stack = TestUtils.newStackController(activity).setTopBarController(topBarController).build();
    stack.ensureViewIsCreated();
    stack.getView().layout(0, 0, 1000, 1000);
    stack.getTopBar().layout(0, 0, 1000, 100);
    activity.setContentView(stack.getView());
    disablePushAnimation(uut);
}
Also used : StackController(com.reactnativenavigation.viewcontrollers.stack.StackController) TopBar(com.reactnativenavigation.views.stack.topbar.TopBar) Context(android.content.Context) Text(com.reactnativenavigation.options.params.Text) CommandListenerAdapter(com.reactnativenavigation.react.CommandListenerAdapter) StackLayout(com.reactnativenavigation.views.stack.StackLayout) Java6Assertions.assertThat(org.assertj.core.api.Java6Assertions.assertThat) IReactView(com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView) ColorDrawable(android.graphics.drawable.ColorDrawable) Colour(com.reactnativenavigation.options.params.Colour) Mockito.spy(org.mockito.Mockito.spy) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) TopBarController(com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController) View(android.view.View) Bool(com.reactnativenavigation.options.params.Bool) BaseTest(com.reactnativenavigation.BaseTest) MATCH_PARENT(android.view.ViewGroup.LayoutParams.MATCH_PARENT) Test(org.junit.Test) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) Color(android.graphics.Color) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) TestReactView(com.reactnativenavigation.mocks.TestReactView) ThemeColour(com.reactnativenavigation.options.params.ThemeColour) Options(com.reactnativenavigation.options.Options) Configuration(android.content.res.Configuration) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) TestUtils(com.reactnativenavigation.TestUtils) RelativeLayout(android.widget.RelativeLayout) TestComponentLayout(com.reactnativenavigation.mocks.TestComponentLayout) Activity(android.app.Activity) Context(android.content.Context) Options(com.reactnativenavigation.options.Options) TestReactView(com.reactnativenavigation.mocks.TestReactView) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) TestComponentLayout(com.reactnativenavigation.mocks.TestComponentLayout) RelativeLayout(android.widget.RelativeLayout) StackLayout(com.reactnativenavigation.views.stack.StackLayout) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) TopBarController(com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController)

Example 2 with ChildControllersRegistry

use of com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry in project react-native-navigation by wix.

the class ModalPresenterTest method beforeEach.

@Override
public void beforeEach() {
    super.beforeEach();
    Activity activity = newActivity();
    ChildControllersRegistry childRegistry = new ChildControllersRegistry();
    root = spy(new SimpleViewController(activity, childRegistry, "root", new Options()));
    FrameLayout contentLayout = new FrameLayout(activity);
    FrameLayout rootLayout = new FrameLayout(activity);
    rootLayout.addView(root.getView());
    modalsLayout = new CoordinatorLayout(activity);
    contentLayout.addView(rootLayout);
    contentLayout.addView(modalsLayout);
    activity.setContentView(contentLayout);
    animator = spy(new ModalAnimator(activity));
    uut = new ModalPresenter(animator);
    uut.setModalsLayout(modalsLayout);
    uut.setRootLayout(rootLayout);
    modal1 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_1, new Options()));
    modal2 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_2, new Options()));
}
Also used : CoordinatorLayout(androidx.coordinatorlayout.widget.CoordinatorLayout) Options(com.reactnativenavigation.options.Options) FrameLayout(android.widget.FrameLayout) Activity(android.app.Activity) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) SimpleViewController(com.reactnativenavigation.mocks.SimpleViewController)

Example 3 with ChildControllersRegistry

use of com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry in project react-native-navigation by wix.

the class ModalStackTest method beforeEach.

@Override
public void beforeEach() {
    super.beforeEach();
    activity = newActivity();
    childRegistry = new ChildControllersRegistry();
    root = new SimpleViewController(activity, childRegistry, "root", new Options());
    FrameLayout rootLayout = new FrameLayout(activity);
    CoordinatorLayout modalsLayout = new CoordinatorLayout(activity);
    FrameLayout contentLayout = new FrameLayout(activity);
    contentLayout.addView(rootLayout);
    contentLayout.addView(modalsLayout);
    activity.setContentView(contentLayout);
    animator = spy(new ModalAnimatorMock(activity));
    presenter = spy(new ModalPresenter(animator));
    uut = new ModalStack(activity, presenter);
    uut.setModalsLayout(modalsLayout);
    uut.setRootLayout(rootLayout);
    emitter = Mockito.mock(EventEmitter.class);
    uut.setEventEmitter(emitter);
    modal1 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_1, new Options()));
    modal2 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_2, new Options()));
    modal3 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_3, new Options()));
    modal4 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_4, new Options()));
    stack = TestUtils.newStackController(activity).setChildren(modal4).build();
}
Also used : CoordinatorLayout(androidx.coordinatorlayout.widget.CoordinatorLayout) TransitionAnimationOptions(com.reactnativenavigation.options.TransitionAnimationOptions) Options(com.reactnativenavigation.options.Options) EventEmitter(com.reactnativenavigation.react.events.EventEmitter) FrameLayout(android.widget.FrameLayout) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) SimpleViewController(com.reactnativenavigation.mocks.SimpleViewController)

Example 4 with ChildControllersRegistry

use of com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry in project react-native-navigation by wix.

the class OverlayManagerTest method beforeEach.

@Override
public void beforeEach() {
    super.beforeEach();
    Activity activity = newActivity();
    contentLayout = new FrameLayout(activity);
    contentLayout.layout(0, 0, 1000, 1000);
    activity.setContentView(contentLayout);
    overlayContainer = new FrameLayout(activity);
    contentLayout.addView(overlayContainer);
    ChildControllersRegistry childRegistry = new ChildControllersRegistry();
    overlay1 = spy(new SimpleViewController(activity, childRegistry, OVERLAY_ID_1, new Options()));
    overlay2 = spy(new SimpleViewController(activity, childRegistry, OVERLAY_ID_2, new Options()));
    uut = new OverlayManager();
}
Also used : Options(com.reactnativenavigation.options.Options) FrameLayout(android.widget.FrameLayout) Activity(android.app.Activity) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) SimpleViewController(com.reactnativenavigation.mocks.SimpleViewController)

Example 5 with ChildControllersRegistry

use of com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry in project react-native-navigation by wix.

the class SideMenuControllerTest method beforeEach.

@Override
public void beforeEach() {
    super.beforeEach();
    activity = createActivity();
    childRegistry = new ChildControllersRegistry();
    presenter = spy(new SideMenuPresenter());
    child = new SimpleComponentViewController(activity, childRegistry, "child", new Options());
    left = spy(new SimpleComponentViewController(activity, childRegistry, "left", new Options()));
    right = spy(new SimpleComponentViewController(activity, childRegistry, "right", createSideMenuOptions()));
    center = spy(new SimpleComponentViewController(activity, childRegistry, "center", createSideMenuOptions()));
    uut = new SideMenuController(activity, childRegistry, "sideMenu", new Options(), presenter, new Presenter(activity, new Options())) {

        @Override
        public Options resolveCurrentOptions() {
            resolvedOptions = super.resolveCurrentOptions();
            return resolvedOptions;
        }
    };
    uut.setCenterController(center);
    parent = Mocks.INSTANCE.parentController(null);
    Mockito.when(parent.resolveChildOptions(uut)).thenReturn(Options.EMPTY);
    uut.setParentController(parent);
}
Also used : SideMenuOptions(com.reactnativenavigation.options.SideMenuOptions) Options(com.reactnativenavigation.options.Options) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) SimpleComponentViewController(com.reactnativenavigation.mocks.SimpleComponentViewController)

Aggregations

ChildControllersRegistry (com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry)19 Options (com.reactnativenavigation.options.Options)16 SimpleViewController (com.reactnativenavigation.mocks.SimpleViewController)9 Presenter (com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter)6 Activity (android.app.Activity)4 FrameLayout (android.widget.FrameLayout)4 EventEmitter (com.reactnativenavigation.react.events.EventEmitter)4 CoordinatorLayout (androidx.coordinatorlayout.widget.CoordinatorLayout)3 ReactInstanceManager (com.facebook.react.ReactInstanceManager)3 Context (android.content.Context)2 View (android.view.View)2 TestComponentLayout (com.reactnativenavigation.mocks.TestComponentLayout)2 TestReactView (com.reactnativenavigation.mocks.TestReactView)2 TypefaceLoaderMock (com.reactnativenavigation.mocks.TypefaceLoaderMock)2 Bool (com.reactnativenavigation.options.params.Bool)2 Text (com.reactnativenavigation.options.params.Text)2 ComponentPresenter (com.reactnativenavigation.viewcontrollers.component.ComponentPresenter)2 ModalStack (com.reactnativenavigation.viewcontrollers.modal.ModalStack)2 OverlayManager (com.reactnativenavigation.viewcontrollers.overlay.OverlayManager)2 TopBarController (com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController)2