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 73b1cdde7..f4a71e2c8 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 2ea66fb21..c8c927838 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)