Commit c684581b authored by sandromaggi's avatar sandromaggi Committed by Commit Bot

[Autofill Assistant] Test for clicking the "new tab"

This tests what happens when clicking the "switch tabs" button without
actually opening a new tab and then going back to the original tab
(by clicking the back button).

Bug: b/152967053
Bug: b/152951618
Change-Id: I7514d344f4cdb16b5f1c8033bd34c52799f66c3c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2138414
Commit-Queue: Sandro Maggi <sandromaggi@google.com>
Reviewed-by: default avatarClemens Arbesser <arbesser@google.com>
Cr-Commit-Position: refs/heads/master@{#757010}
parent 006798a9
......@@ -4,14 +4,24 @@
package org.chromium.chrome.browser.autofill_assistant;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withClassName;
import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.is;
import static org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiTestUtil.waitUntilViewAssertionTrue;
import static org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiTestUtil.waitUntilViewMatchesCondition;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.Espresso;
import android.support.test.espresso.matcher.ViewMatchers.Visibility;
import android.support.test.filters.MediumTest;
import org.junit.After;
......@@ -28,6 +38,7 @@ import org.chromium.chrome.browser.autofill_assistant.proto.SupportedScriptProto
import org.chromium.chrome.browser.autofill_assistant.proto.SupportedScriptProto.PresentationProto;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.tabmodel.TabModelUtils;
import org.chromium.chrome.browser.widget.ScrimView;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ChromeTabUtils;
......@@ -81,6 +92,42 @@ public class AutofillAssistantChromeTabIntegrationTest {
mTestServer.stopAndDestroyServer();
}
@Test
@MediumTest
public void newTabButtonHidesAndRecoversAutofillAssistant() throws Exception {
ArrayList<ActionProto> list = new ArrayList<>();
list.add((ActionProto) ActionProto.newBuilder()
.setPrompt(PromptProto.newBuilder()
.setMessage("Prompt")
.setDisableForceExpandSheet(true)
.addChoices(PromptProto.Choice.newBuilder()))
.build());
AutofillAssistantTestScript script = new AutofillAssistantTestScript(
(SupportedScriptProto) SupportedScriptProto.newBuilder()
.setPath(TEST_PAGE_A)
.setPresentation(PresentationProto.newBuilder().setAutostart(true).setChip(
ChipProto.newBuilder().setText("Done")))
.build(),
list);
setupScripts(script);
startAutofillAssistantOnTab(TEST_PAGE_A);
waitUntilViewMatchesCondition(withText("Prompt"), isCompletelyDisplayed());
onView(withClassName(is(ScrimView.class.getName())))
.check(matches(withEffectiveVisibility(Visibility.VISIBLE)));
onView(withId(org.chromium.chrome.R.id.tab_switcher_button)).perform(click());
waitUntilViewAssertionTrue(withText("Prompt"), doesNotExist(), 3000L);
onView(withClassName(is(ScrimView.class.getName()))).check(doesNotExist());
Espresso.pressBack();
waitUntilViewMatchesCondition(withText("Prompt"), isCompletelyDisplayed());
onView(withClassName(is(ScrimView.class.getName())))
.check(matches(withEffectiveVisibility(Visibility.VISIBLE)));
}
@Test
@MediumTest
public void switchingTabHidesAutofillAssistant() throws Exception {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment