diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/ContextMenusTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/ContextMenusTest.kt index 087121e390c9..f97ffb50b3b2 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/ContextMenusTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/ContextMenusTest.kt @@ -128,6 +128,27 @@ class ContextMenusTest { } } + @Test + fun verifyContextCopyLinkNotDisplayedAfterApplied() { + val pageLinks = TestAssetHelper.getGenericAsset(mockWebServer, 4) + val genericURL = TestAssetHelper.getGenericAsset(mockWebServer, 3) + + navigationToolbar { + }.enterURLAndEnterToBrowser(pageLinks.url) { + mDevice.waitForIdle() + longClickMatchingText("Link 3") + verifyLinkContextMenuItems(genericURL.url) + clickContextCopyLink() + verifySnackBarText("Link copied to clipboard") + }.openNavigationToolbar { + }.visitLinkFromClipboard { + verifyUrl(genericURL.url.toString()) + }.openTabDrawer { + }.openNewTab { + verifyFillLinkButton() + } + } + @Test fun verifyContextShareLink() { val pageLinks = diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt index 592ce4d9d2f9..9345b3a4f6c9 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SearchRobot.kt @@ -187,6 +187,7 @@ class SearchRobot { onView(withContentDescription(expectedText)) } fun verifyDefaultSearchEngine(expectedText: String) = assertDefaultSearchEngine(expectedText) + fun verifyFillLinkButton() = assertFillLinkButton() fun verifyEnginesListShortcutContains(rule: ComposeTestRule, searchEngineName: String) = assertEngineListShortcutContains(rule, searchEngineName) @@ -533,7 +534,15 @@ private fun assertTranslatedFocusedNavigationToolbar(toolbarHintString: String) ).waitForExists(waitingTime), ) +private fun assertFillLinkButton() { + mDevice.waitForIdle() + onView(withId(R.id.fill_link_from_clipboard)) + .check(matches(withEffectiveVisibility(Visibility.GONE))) +} + private val awesomeBar = mDevice.findObject(UiSelector().resourceId("$packageName:id/mozac_browser_toolbar_edit_url_view")) private val voiceSearchButton = mDevice.findObject(UiSelector().description("Voice search")) + +private fun goBackButton() = onView(allOf(withContentDescription("Navigate up"))) diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt index 35038acc9232..1fb928d5d0aa 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt @@ -389,6 +389,7 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { from = BrowserDirection.FromSearchDialog, ) } + requireContext().components.clipboardHandler.text = null } val stubListener = ViewStub.OnInflateListener { _, inflated ->