From 30b0b47b712cd1882b9c944a125c9d06ca5e0dd8 Mon Sep 17 00:00:00 2001 From: Guy Carmeli Date: Tue, 3 Mar 2020 13:06:37 +0200 Subject: [PATCH] Stop rejecting on dismissAllModals if no modals are displayed (#5991) This commit adds parity with iOS which does not reject the promise if dismissAllModals is called while no modals are displayed. --- .../viewcontrollers/modal/ModalStack.java | 2 -- .../viewcontrollers/modal/ModalStackTest.java | 15 +++++---------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java index 295ad3870f1..f60119e548a 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java @@ -84,10 +84,8 @@ public void onSuccess(String childId) { public void dismissAllModals(ViewController root, Options mergeOptions, CommandListener listener) { if (modals.isEmpty()) { - listener.onError("Nothing to dismiss"); return; } - String topModalId = peek().getId(); String topModalName = peek().getCurrentComponentName(); int modalsDismissed = size(); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java index 0b55affb5fd..543bf930eb7 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalStackTest.java @@ -1,11 +1,11 @@ package com.reactnativenavigation.viewcontrollers.modal; import android.app.Activity; -import androidx.coordinatorlayout.widget.CoordinatorLayout; import android.view.ViewGroup; import android.widget.FrameLayout; -import com.reactnativenavigation.*; +import com.reactnativenavigation.BaseTest; +import com.reactnativenavigation.TestUtils; import com.reactnativenavigation.anim.ModalAnimator; import com.reactnativenavigation.mocks.SimpleViewController; import com.reactnativenavigation.parse.Options; @@ -14,13 +14,15 @@ import com.reactnativenavigation.utils.CommandListenerAdapter; import com.reactnativenavigation.viewcontrollers.ChildControllersRegistry; import com.reactnativenavigation.viewcontrollers.ViewController; -import com.reactnativenavigation.viewcontrollers.stack.*; +import com.reactnativenavigation.viewcontrollers.stack.StackController; import org.junit.Test; import org.mockito.Mockito; import java.util.EmptyStackException; +import androidx.coordinatorlayout.widget.CoordinatorLayout; + import static org.assertj.core.api.Java6Assertions.assertThat; import static org.assertj.core.api.Java6Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.any; @@ -171,13 +173,6 @@ public void onSuccess(String childId) { verifyZeroInteractions(listener); } - @Test - public void dismissAllModals_rejectIfEmpty() { - CommandListener spy = spy(new CommandListenerAdapter()); - uut.dismissAllModals(root, Options.EMPTY, spy); - verify(spy, times(1)).onError(any()); - } - @Test public void dismissAllModals_optionsAreMergedOnTopModal() { uut.showModal(modal1, root, new CommandListenerAdapter());