Skip to content

Commit

Permalink
Revert "[LongScreenshots] Add tests for the Mediator"
Browse files Browse the repository at this point in the history
This reverts commit 7d68d9d.

Reason for revert: Failing on android-12l-x64-dbg-tests

Original change's description:
> [LongScreenshots] Add tests for the Mediator
>
> Adds more tests to LongScreenshotsMediatorTest using mocks and
> capture in order to exercise the displayInitialScreenshot method.
> This method is crashing with big bitmaps so we want better tests.
>
> BUG=1275758,1355877
>
> Change-Id: I7a0b50f016deba37b1529163ab3d7a95a08ff0b9
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4457601
> Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
> Reviewed-by: Jeffrey Cohen <jeffreycohen@chromium.org>
> Commit-Queue: Donn Denman <donnd@chromium.org>
> Auto-Submit: Donn Denman <donnd@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1135357}

Bug: 1275758,1355877
Change-Id: Ia0a36e0dc685e45a957ff17adb7bfc352dff88cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4475675
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jeffrey Cohen <jeffreycohen@chromium.org>
Auto-Submit: Brandon Wylie <wylieb@chromium.org>
Reviewed-by: Tomasz Wiszkowski <ender@google.com>
Commit-Queue: Jeffrey Cohen <jeffreycohen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1135570}
  • Loading branch information
Brandon Wylie authored and Chromium LUCI CQ committed Apr 25, 2023
1 parent f55c779 commit 2f562e4
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 62 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,7 @@ public LongScreenshotsMediator(Activity activity, EntryManager entryManager) {
mDisplayDensity = activity.getResources().getDisplayMetrics().density;
}

@VisibleForTesting
void displayInitialScreenshot() {
private void displayInitialScreenshot() {
mEntryManager.addBitmapGeneratorObserver(new EntryManager.BitmapGeneratorObserver() {
@Override
public void onStatusChange(int status) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,9 @@

package org.chromium.chrome.browser.share.long_screenshots;

import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Point;
import android.os.Looper;
import android.util.Size;
import android.view.View;

import androidx.test.filters.MediumTest;
Expand All @@ -21,28 +16,20 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import org.chromium.base.test.BaseActivityTestRule;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.share.long_screenshots.bitmap_generation.EntryManager;
import org.chromium.chrome.browser.share.long_screenshots.bitmap_generation.EntryManager.BitmapGeneratorObserver;
import org.chromium.chrome.browser.share.long_screenshots.bitmap_generation.LongScreenshotsEntry;
import org.chromium.chrome.browser.share.long_screenshots.bitmap_generation.LongScreenshotsEntry.EntryListener;
import org.chromium.chrome.browser.share.long_screenshots.bitmap_generation.LongScreenshotsEntry.EntryStatus;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.ui.test.util.BlankUiTestActivity;

/** Tests for the LongScreenshotsMediator. */
@RunWith(ChromeJUnit4ClassRunner.class)
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
public class LongScreenshotsMediatorTest {
/** Some nominal representative screen dimension */
private static final int NOMINAL_SCREEN_DIMENTION = 1000;
private Activity mActivity;
private Bitmap mBitmap;
private LongScreenshotsMediator mMediator;
Expand All @@ -57,15 +44,6 @@ public class LongScreenshotsMediatorTest {
@Mock
private EntryManager mManager;

@Mock
private LongScreenshotsEntry mLongScreenshotsEntry;

@Captor
private ArgumentCaptor<BitmapGeneratorObserver> mBitmapGeneratorObserverCaptor;

@Captor
private ArgumentCaptor<LongScreenshotsEntry.EntryListener> mEntryListenerCaptor;

@Before
public void setUp() {
Looper.prepare();
Expand Down Expand Up @@ -100,42 +78,4 @@ public void testAreaSelectionClose() {
mMediator.areaSelectionClose(mView);
Assert.assertFalse(mMediator.getDialog().isShowing());
}

@Test
@MediumTest
public void testOnStatusChange() {
mMediator.displayInitialScreenshot();
verify(mManager).addBitmapGeneratorObserver(mBitmapGeneratorObserverCaptor.capture());
BitmapGeneratorObserver generatorObserver = mBitmapGeneratorObserverCaptor.getValue();
// Now we can call the onStatusChange that's within displayInitialScreenShot.
generatorObserver.onStatusChange(EntryStatus.CAPTURE_IN_PROGRESS);
generatorObserver.onStatusChange(EntryStatus.BITMAP_GENERATION_IN_PROGRESS);
}

@Test
@MediumTest
public void testOnCompositorReady() {
Bitmap someBitmap = Bitmap.createBitmap(
NOMINAL_SCREEN_DIMENTION, NOMINAL_SCREEN_DIMENTION, Bitmap.Config.ARGB_8888);
mMediator.displayInitialScreenshot();
verify(mManager).addBitmapGeneratorObserver(mBitmapGeneratorObserverCaptor.capture());
BitmapGeneratorObserver generatorObserver = mBitmapGeneratorObserverCaptor.getValue();

// Now we can call the onCompositorReady and capture it's EntryListener.
when(mManager.generateFullpageEntry()).thenReturn(mLongScreenshotsEntry);
when(mLongScreenshotsEntry.getBitmap()).thenReturn(someBitmap);
generatorObserver.onCompositorReady(
new Size(NOMINAL_SCREEN_DIMENTION, NOMINAL_SCREEN_DIMENTION), new Point(0, 0));
verify(mLongScreenshotsEntry).setListener(mEntryListenerCaptor.capture());
EntryListener entryListener = mEntryListenerCaptor.getValue();

// Now we can call the onResult method of the EntryListener.
// In-progress should be ignored.
entryListener.onResult(EntryStatus.BITMAP_GENERATION_IN_PROGRESS);
// Should already be captured, so this should put up a Toast with the error.
entryListener.onResult(EntryStatus.CAPTURE_IN_PROGRESS);
// This should trigger showAreaSelectionDialog to show the generated bitmap!
entryListener.onResult(EntryStatus.BITMAP_GENERATED);
Assert.assertTrue(mMediator.getDialog().isShowing());
}
}

0 comments on commit 2f562e4

Please sign in to comment.