Commit 6cb76ac6 authored by Gayane Petrosyan's avatar Gayane Petrosyan Committed by Commit Bot

[SH-Clank] Enable LinkToTextCoordinator tests.

Mockito is unable to mock WindowAndroid for Android L, because it uses
Display.Mode that was added in Android M.
Changing tests to use BaseRobolectricTestRunner as unit tests are good
enough for these tests and it also uses sdk 28, which solves the issue.

Bug: 1111408
Change-Id: I1635fcb0ac62372d1a364fd2f72f1fad7927f88f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2346790Reviewed-by: default avatarKyle Milka <kmilka@chromium.org>
Commit-Queue: Gayane Petrosyan <gayane@chromium.org>
Cr-Commit-Position: refs/heads/master@{#796575}
parent 5d9013a0
...@@ -10,48 +10,39 @@ import static org.mockito.ArgumentMatchers.anyString; ...@@ -10,48 +10,39 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import android.content.Context; import android.app.Activity;
import android.support.test.rule.ActivityTestRule;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback; import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.test.util.DummyUiActivity;
/** /**
* Tests for {@link LinkToTextCoordinator}. * Tests for {@link LinkToTextCoordinator}.
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(BaseRobolectricTestRunner.class)
public class LinkToTextCoordinatorTest { public class LinkToTextCoordinatorTest {
@Rule
public ActivityTestRule<DummyUiActivity> mActivityTestRule =
new ActivityTestRule<>(DummyUiActivity.class);
@Mock @Mock
private ChromeOptionShareCallback mShareCallback; private ChromeOptionShareCallback mShareCallback;
@Mock @Mock
private WindowAndroid mWindow; private WindowAndroid mWindow;
private Context mContext; private Activity mAcivity;
private static final String SELECTED_TEXT = "selection"; private static final String SELECTED_TEXT = "selection";
private static final String VISIBLE_URL = "www.example.com"; private static final String VISIBLE_URL = "www.example.com";
@Before @Before
public void setUp() { public void setUpTest() {
mContext = mActivityTestRule.getActivity(); mAcivity = Robolectric.setupActivity(Activity.class);
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
doNothing() doNothing()
.when(mShareCallback) .when(mShareCallback)
...@@ -60,32 +51,29 @@ public class LinkToTextCoordinatorTest { ...@@ -60,32 +51,29 @@ public class LinkToTextCoordinatorTest {
@Test @Test
@SmallTest @SmallTest
@DisabledTest(message = "https://crbug.com/1111408")
public void getTextToShareTest() { public void getTextToShareTest() {
String selector = "selector"; String selector = "selector";
String expectedTextToShare = "\"selection\"\nwww.example.com:~:text=selector"; String expectedTextToShare = "\"selection\"\nwww.example.com:~:text=selector";
LinkToTextCoordinator coordinator = new LinkToTextCoordinator( LinkToTextCoordinator coordinator = new LinkToTextCoordinator(
mContext, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); mAcivity, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT);
Assert.assertEquals(expectedTextToShare, coordinator.getTextToShare(selector)); Assert.assertEquals(expectedTextToShare, coordinator.getTextToShare(selector));
} }
@Test @Test
@SmallTest @SmallTest
@DisabledTest(message = "https://crbug.com/1111408")
public void getTextToShareTest_EmptySelector() { public void getTextToShareTest_EmptySelector() {
String selector = ""; String selector = "";
String expectedTextToShare = "\"selection\"\nwww.example.com"; String expectedTextToShare = "\"selection\"\nwww.example.com";
LinkToTextCoordinator coordinator = new LinkToTextCoordinator( LinkToTextCoordinator coordinator = new LinkToTextCoordinator(
mContext, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); mAcivity, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT);
Assert.assertEquals(expectedTextToShare, coordinator.getTextToShare(selector)); Assert.assertEquals(expectedTextToShare, coordinator.getTextToShare(selector));
} }
@Test @Test
@SmallTest @SmallTest
@DisabledTest(message = "https://crbug.com/1111408")
public void onSelectorReadyTest() { public void onSelectorReadyTest() {
LinkToTextCoordinator coordinator = new LinkToTextCoordinator( LinkToTextCoordinator coordinator = new LinkToTextCoordinator(
mContext, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT); mAcivity, mWindow, mShareCallback, VISIBLE_URL, SELECTED_TEXT);
// OnSelectorReady should call back the share sheet. // OnSelectorReady should call back the share sheet.
verify(mShareCallback) verify(mShareCallback)
.showThirdPartyShareSheetWithMessage(anyString(), any(), any(), anyLong()); .showThirdPartyShareSheetWithMessage(anyString(), any(), any(), anyLong());
......
...@@ -5,11 +5,13 @@ ...@@ -5,11 +5,13 @@
# TODO(crbug.com/1022172): This should be a separate build target when circular dependencies are removed. # TODO(crbug.com/1022172): This should be a separate build target when circular dependencies are removed.
share_test_java_sources = [ share_test_java_sources = [
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/clipboard/ClipboardImageFileProviderTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/clipboard/ClipboardImageFileProviderTest.java",
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java",
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetViewTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetViewTest.java",
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProviderTest.java",
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetCoordinatorTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetCoordinatorTest.java",
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetPropertyModelBuilderTest.java", "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetPropertyModelBuilderTest.java",
] ]
share_junit_test_java_sources = [ "//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java" ] share_junit_test_java_sources = [
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinatorTest.java",
"//chrome/browser/share/android/javatests/src/org/chromium/chrome/browser/share/screenshot/ScreenshotShareSheetMediatorUnitTest.java",
]
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