From 320b5a0d05ac740c8eb4d3478e0c1850edc85fb8 Mon Sep 17 00:00:00 2001 From: Suraj Shah Date: Mon, 23 Dec 2019 17:26:48 +0000 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/7041 - Respect current mode when opening library items (https://github.com/mozilla-mobile/fenix/pull/7311) * Fixes https://github.com/mozilla-mobile/fenix/issues/7041 Consumes `browserMode` from home activity for tap method of bookmark * Fixes spaces * Cleaning tests * Cleaning tests --- .../library/bookmarks/BookmarkController.kt | 2 +- .../library/bookmarks/BookmarkControllerTest.kt | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt index 73b1cdde72..f4a71e2c8c 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt @@ -56,7 +56,7 @@ class DefaultBookmarkController( private val services: Services = activity.components.services override fun handleBookmarkTapped(item: BookmarkNode) { - openInNewTab(item.url!!, true, BrowserDirection.FromBookmarks, BrowsingMode.Normal) + openInNewTab(item.url!!, true, BrowserDirection.FromBookmarks, activity.browsingModeManager.mode) } override fun handleBookmarkExpand(folder: BookmarkNode) { diff --git a/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkControllerTest.kt b/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkControllerTest.kt index 2ea66fb210..c8c9278386 100644 --- a/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkControllerTest.kt @@ -22,6 +22,7 @@ import io.mockk.verifyOrder import mozilla.appservices.places.BookmarkRoot import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.storage.BookmarkNodeType +import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test import org.mozilla.fenix.BrowserDirection @@ -101,11 +102,25 @@ class BookmarkControllerTest { verifyOrder { invokePendingDeletion.invoke() - homeActivity.browsingModeManager.mode = BrowsingMode.Normal homeActivity.openToBrowserAndLoad(item.url!!, true, BrowserDirection.FromBookmarks) } } + @Test + fun `handleBookmarkTapped should respect browsing mode`() { + // if in normal mode, should be in normal mode + every { homeActivity.browsingModeManager.mode } returns BrowsingMode.Normal + + controller.handleBookmarkTapped(item) + assertEquals(BrowsingMode.Normal, homeActivity.browsingModeManager.mode) + + // if in private mode, should be in private mode + every { homeActivity.browsingModeManager.mode } returns BrowsingMode.Private + + controller.handleBookmarkTapped(item) + assertEquals(BrowsingMode.Private, homeActivity.browsingModeManager.mode) + } + @Test fun `handleBookmarkExpand should navigate to the 'Bookmark' fragment`() { controller.handleBookmarkExpand(tree)