0

JNI Zero: JniMocker -> setInstanceForTesting() (replace uses)

Mostly a scripted change:
data = re.sub(r'^import .*\.JniMocker;\n', '', data, flags=re.MULTILINE)
data = re.sub(r'^.*@Rule\s+.*JniMocker (\w+) =\s*new JniMocker\(\);\n', '', data, flags=re.MULTILINE)
data = re.sub(r'\w+\.mock\(\s*(.+)\.TEST_HOOKS,\s*([^)]+)\)', r'\1.setInstanceForTesting(\2)', data)
data = re.sub(r'(\w+Jni)\.TEST_HOOKS\.setInstanceForTesting', r'\1.setInstanceForTesting', data)

Bug: 329069277
Change-Id: I5382f07d641f0f211f03b2f3d9cc219990226a33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6020725
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Owners-Override: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383714}
This commit is contained in:
Andrew Grieve
2024-11-15 18:30:42 +00:00
committed by Chromium LUCI CQ
parent 6b0c9b491a
commit b35b169c63
396 changed files with 583 additions and 1727 deletions
android_webview/junit/src/org/chromium/android_webview/robolectric/nonembedded
base/android/junit/src/org/chromium/base
chrome
android
features
java
javatests
src
org
chromium
chrome
browser
app
autofill
bookmarks
browserservices
browsing_data
contextmenu
contextualsearch
customtabs
device_dialog
download
firstrun
media
metrics
ntp
omnibox
page_info
privacy
read_later
search_engines
searchwidget
settings
signin
site_settings
sync
tab
tabbed_mode
toolbar
usage_stats
webauth
junit
src
org
chromium
chrome
browser
about_settings
app
autofill
background_sync
background_task_scheduler
backup
bookmarks
browserservices
compositor
contextmenu
contextualsearch
customtabs
desktop_site
dom_distiller
download
feed
history
media
metrics
multiwindow
notifications
ntp
offlinepages
partnerbookmarks
password_manager
payments
privacy
privacy_sandbox
search_engines
searchwidget
share
signin
suggestions
supervised_user
survey
tab
tabbed_mode
tabmodel
tasks
toolbar
ui
webapps
webauthn
browser
android
browserservices
verification
java
src
org
chromium
chrome
browser
browserservices
cookies
java
src
org
chromium
chrome
customtabs
branding
java
src
org
chromium
chrome
browser
httpclient
java
src
org
chromium
chrome
browser
autofill
android
javatest
src
org
chromium
chrome
browser
junit
src
org
chromium
chrome
auxiliary_search
commerce
creator
data_sharing
android
java
src
org
chromium
chrome
download
android
java
src
org
chromium
internal
android
java
src
educational_tip
junit
src
org
chromium
chrome
enterprise
util
android
java
src
org
chromium
chrome
browser
feed
image_descriptions
android
java
incognito
android
java
src
org
chromium
chrome
language
android
mandatory_reauth
android
internal
java
src
org
chromium
optimization_guide
android
java
javatests
src
org
chromium
chrome
page_image_service
android
junit
src
org
chromium
chrome
browser
password_check
android
javatests
src
org
chromium
chrome
password_manager
android
account_storage_notice
javatests
src
org
chromium
chrome
browser
password_manager
add_username_dialog
java
src
org
chromium
chrome
browser
grouped_affiliations
java
src
org
chromium
chrome
java
junit
pwd_check_wrapper
java
src
org
chromium
chrome
pwd_migration
payments
android
java
src
org
chromium
privacy_guide
privacy_sandbox
quick_delete
android
javatests
src
org
chromium
chrome
readaloud
recent_tabs
safety_check
android
javatests
safety_hub
search_resumption
share
signin
services
android
java
src
org
chromium
chrome
browser
junit
src
org
single_tab
android
junit
src
org
chromium
supervised_user
android
javatests
src
org
chromium
chrome
browser
tab_group_sync
android
tab_resumption
junit
src
org
chromium
chrome
tab_ui
android
junit
src
org
chromium
tabmodel
touch_to_fill
password_manager
android
junit
src
org
chromium
chrome
browser
no_passkeys
internal
android
java
src
org
chromium
chrome
browser
touch_to_fill
password_generation
android
internal
java
src
org
chromium
chrome
browser
touch_to_fill
translate
ui
android
autofill
edge_to_edge
internal
junit
src
org
chromium
chrome
hats
internal
logo
java
management
java
src
org
chromium
chrome
browser
night_mode
omnibox
plus_addresses
junit
src
org
chromium
chrome
signin
toolbar
wallet
android
javatests
src
org
chromium
test
android
javatests
src
org
chromium
chrome
components
android_autofill
browser
junit
src
org
chromium
components
browser_ui
accessibility
android
java
site_settings
android
javatests
src
org
chromium
junit
src
org
data_sharing
internal
android
java
src
org
chromium
download
network
android
junit
src
org
chromium
facilitated_payments
android
junit
src
org
chromium
image_fetcher
android
junit
src
org
chromium
components
installedapp
android
java
src
org
chromium
components
messages
android
java
src
org
chromium
components
payments
content
policy
android
prefs
android
java
src
org
chromium
components
privacy_sandbox
android
javatests
src
org
chromium
components
segmentation_platform
public
android
java
src
org
chromium
signin
public
android
java
src
org
chromium
components
subresource_filter
android
java
src
org
chromium
components
subresource_filter
translate
content
android
ukm
android
javatests
src
org
chromium
webapps
webauthn
content/public/android/junit/src/org/chromium/content/browser
net/android/junit/src/org/chromium/net
ui/android
url/android
java
src
org
chromium
javatests
src
org

@ -16,7 +16,6 @@ import androidx.test.filters.MediumTest;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -28,7 +27,6 @@ import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ContextUtils;
import org.chromium.base.FileUtils;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.url.GURL;
import java.io.ByteArrayInputStream;
@ -46,14 +44,12 @@ public class NetworkFetcherTaskTest {
private HttpURLConnection mConnection;
private Context mContext;
private File mTempDirectory;
@Rule public JniMocker jniMocker = new JniMocker();
@Mock private NetworkFetcherTask.Natives mNativeMock;
@Before
public void setUp() throws IOException {
MockitoAnnotations.initMocks(this);
jniMocker.mock(NetworkFetcherTaskJni.TEST_HOOKS, mNativeMock);
NetworkFetcherTaskJni.setInstanceForTesting(mNativeMock);
mContext = ContextUtils.getApplicationContext();
mTempDirectory = new File(mContext.getFilesDir(), "tmp/");

@ -10,7 +10,6 @@ import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -18,19 +17,17 @@ import org.mockito.MockitoAnnotations;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
/** Tests for {@link TraceEvent}. */
@RunWith(BaseRobolectricTestRunner.class)
public class TraceEventTest {
@Rule public JniMocker mocker = new JniMocker();
@Mock TraceEvent.Natives mNativeMock;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mocker.mock(TraceEventJni.TEST_HOOKS, mNativeMock);
TraceEventJni.setInstanceForTesting(mNativeMock);
}
@Test

@ -8,7 +8,6 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatchers;
@ -17,20 +16,18 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
/** Tests for JankMetricUMARecorder. */
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class JankMetricUMARecorderTest {
@Rule public JniMocker mocker = new JniMocker();
@Mock JankMetricUMARecorder.Natives mNativeMock;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mocker.mock(JankMetricUMARecorderJni.TEST_HOOKS, mNativeMock);
JankMetricUMARecorderJni.setInstanceForTesting(mNativeMock);
}
@Test

@ -12,7 +12,6 @@ import android.os.Looper;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -22,21 +21,19 @@ import org.robolectric.shadows.ShadowLooper;
import org.chromium.base.TimeUtils;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
/** Tests for JankReportingRunnable. */
@RunWith(BaseRobolectricTestRunner.class)
public class JankReportingRunnableTest {
ShadowLooper mShadowLooper;
Handler mHandler;
@Rule public JniMocker mocker = new JniMocker();
@Mock JankMetricUMARecorder.Natives mNativeMock;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mocker.mock(JankMetricUMARecorderJni.TEST_HOOKS, mNativeMock);
JankMetricUMARecorderJni.setInstanceForTesting(mNativeMock);
mShadowLooper = ShadowLooper.shadowMainLooper();
mHandler = new Handler(Looper.getMainLooper());
}

@ -7,14 +7,12 @@ package org.chromium.base.task;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.chromium.base.CallbackUtils;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import java.util.List;
import java.util.concurrent.CountDownLatch;
@ -31,7 +29,6 @@ import java.util.concurrent.atomic.AtomicInteger;
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class SequencedTaskRunnerTaskMigrationTest {
@Rule public JniMocker mMocker = new JniMocker();
// It might be tempting to use fake executor similar to Robolectric's scheduler that is driven
// from the test's main thread. Unfortunately this approach means that only two states of the
@ -63,7 +60,7 @@ public class SequencedTaskRunnerTaskMigrationTest {
Executor noopExecutor = runnable -> {};
FakeTaskRunnerImplNatives fakeTaskRunnerNatives =
new FakeTaskRunnerImplNatives(noopExecutor);
mMocker.mock(TaskRunnerImplJni.TEST_HOOKS, fakeTaskRunnerNatives);
TaskRunnerImplJni.setInstanceForTesting(fakeTaskRunnerNatives);
BlockingTask preNativeTask = new BlockingTask();
SequencedTaskRunnerImpl taskRunner = new SequencedTaskRunnerImpl(TaskTraits.USER_VISIBLE);
@ -85,7 +82,7 @@ public class SequencedTaskRunnerTaskMigrationTest {
public void pendingTasksShouldBeExecutedOnNativeRunnerAfterInit() {
FakeTaskRunnerImplNatives fakeTaskRunnerNatives =
new FakeTaskRunnerImplNatives(mConcurrentExecutor);
mMocker.mock(TaskRunnerImplJni.TEST_HOOKS, fakeTaskRunnerNatives);
TaskRunnerImplJni.setInstanceForTesting(fakeTaskRunnerNatives);
BlockingTask preNativeTask = new BlockingTask();
AwaitableTask nativeTask = new AwaitableTask();
SequencedTaskRunnerImpl taskRunner = new SequencedTaskRunnerImpl(TaskTraits.USER_VISIBLE);
@ -114,7 +111,7 @@ public class SequencedTaskRunnerTaskMigrationTest {
public void taskPostedAfterNativeInitShouldRunInNativePool() {
FakeTaskRunnerImplNatives fakeTaskRunnerNatives =
new FakeTaskRunnerImplNatives(mConcurrentExecutor);
mMocker.mock(TaskRunnerImplJni.TEST_HOOKS, fakeTaskRunnerNatives);
TaskRunnerImplJni.setInstanceForTesting(fakeTaskRunnerNatives);
SequencedTaskRunnerImpl taskRunner = new SequencedTaskRunnerImpl(TaskTraits.USER_VISIBLE);
taskRunner.initNativeTaskRunner();

@ -64,7 +64,6 @@ import org.chromium.base.CallbackUtils;
import org.chromium.base.UserDataHost;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ChromeWindow;
import org.chromium.chrome.browser.app.ChromeActivity;
@ -115,7 +114,6 @@ public class ManualFillingControllerTest {
private static final int sAccessoryHeightDp = 48;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Captor ArgumentCaptor<FullscreenManager.Observer> mFullscreenObserverCaptor;
@ -343,7 +341,7 @@ public class ManualFillingControllerTest {
mLastMockWebContents = mock(WebContents.class);
when(mMockActivity.getCurrentWebContents()).then(i -> mLastMockWebContents);
mJniMocker.mock(ProfileJni.TEST_HOOKS, mProfileJniMock);
ProfileJni.setInstanceForTesting(mProfileJniMock);
when(mProfileJniMock.fromWebContents(any())).thenReturn(mMockProfile);
when(mMockWindow.getInsetObserver()).thenReturn(mInsetObserver);

@ -27,7 +27,6 @@ import org.mockito.junit.MockitoRule;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.keyboard_accessory.all_passwords_bottom_sheet.AllPasswordsBottomSheetProperties.ItemType;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
@ -76,7 +75,6 @@ public class AllPasswordsBottomSheetControllerTest {
private static final String EXAMPLE_ORIGIN = "https://m.example.com/";
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private UrlUtilities.Natives mUrlUtilitiesJniMock;
@Mock private AllPasswordsBottomSheetCoordinator.Delegate mMockDelegate;
@ -87,7 +85,7 @@ public class AllPasswordsBottomSheetControllerTest {
@Before
public void setUp() {
mJniMocker.mock(UrlUtilitiesJni.TEST_HOOKS, mUrlUtilitiesJniMock);
UrlUtilitiesJni.setInstanceForTesting(mUrlUtilitiesJniMock);
mMediator = new AllPasswordsBottomSheetMediator();
mModel =
AllPasswordsBottomSheetProperties.createDefaultModel(

@ -34,7 +34,6 @@ import org.mockito.junit.MockitoRule;
import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.UserActionTester;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
@ -71,7 +70,6 @@ public class ActionConfirmationManagerUnitTest {
private static final int TAB3_ID = 3;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule
public ActivityScenarioRule<TestActivity> mActivityScenarioRule =
@ -97,7 +95,7 @@ public class ActionConfirmationManagerUnitTest {
public void setUp() {
mActionTester = new UserActionTester();
mJniMocker.mock(UserPrefsJni.TEST_HOOKS, mUserPrefsJni);
UserPrefsJni.setInstanceForTesting(mUserPrefsJni);
MockTab tab1 = new MockTab(TAB1_ID, mProfile);
when(mTabGroupModelFilter.getRelatedTabList(TAB1_ID)).thenReturn(Arrays.asList(tab1));

@ -25,7 +25,6 @@ import org.mockito.junit.MockitoRule;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.tab.TabArchiveSettings;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
@ -35,7 +34,6 @@ import org.chromium.ui.base.TestActivity;
@RunWith(BaseRobolectricTestRunner.class)
public class TabArchiveSettingsFragmentUnitTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
private ActivityScenario<TestActivity> mActivityScenario;
private TestActivity mActivity;

@ -30,7 +30,6 @@ import org.mockito.junit.MockitoRule;
import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback;
@ -44,7 +43,6 @@ public class TabGroupListCoordinatorUnitTest {
public static final long FAKE_NATIVE_PTR = 1L;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule
public ActivityScenarioRule<TestActivity> mActivityScenarioRule =
@ -60,7 +58,7 @@ public class TabGroupListCoordinatorUnitTest {
@Before
public void setUp() {
mJniMocker.mock(FaviconHelperJni.TEST_HOOKS, mFaviconHelperJniMock);
FaviconHelperJni.setInstanceForTesting(mFaviconHelperJniMock);
when(mFaviconHelperJniMock.init()).thenReturn(FAKE_NATIVE_PTR);
mActivityScenarioRule.getScenario().onActivity(activity -> mActivity = activity);
}

@ -33,7 +33,6 @@ import org.chromium.base.supplier.Supplier;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.hub.LoadHint;
@ -63,7 +62,6 @@ import java.util.function.DoubleConsumer;
@EnableFeatures({ChromeFeatureList.TAB_GROUP_SYNC_ANDROID, ChromeFeatureList.DATA_SHARING})
public class TabGroupsPaneUnitTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private TabGroupModelFilter mTabGroupModelFilter;
@Mock private DoubleConsumer mOnToolbarAlphaChange;
@ -94,7 +92,7 @@ public class TabGroupsPaneUnitTest {
public void setUp() {
SyncServiceFactory.setInstanceForTesting(mSyncService);
when(mFaviconHelperJniMock.init()).thenReturn(1L);
mJniMocker.mock(FaviconHelperJni.TEST_HOOKS, mFaviconHelperJniMock);
FaviconHelperJni.setInstanceForTesting(mFaviconHelperJniMock);
ApplicationProvider.getApplicationContext().setTheme(R.style.Theme_BrowserUI_DayNight);
when(mProfileProvider.getOriginalProfile()).thenReturn(mProfile);
mProfileSupplier.set(mProfileProvider);
@ -104,7 +102,7 @@ public class TabGroupsPaneUnitTest {
IdentityServicesProvider.setInstanceForTests(mIdentityServicesProvider);
when(mIdentityServicesProvider.getIdentityManager(any())).thenReturn(mIdentityManager);
when(mTabGroupSyncService.getAllGroupIds()).thenReturn(new String[] {});
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
doReturn(true).when(mTabGroupSyncFeaturesJniMock).isTabGroupSyncEnabled(mProfile);
mTabGroupsPane =

@ -48,7 +48,6 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.collaboration.CollaborationServiceFactory;
import org.chromium.chrome.browser.collaboration.messaging.MessagingBackendServiceFactory;
@ -101,7 +100,6 @@ import java.util.Collections;
*/
@RunWith(BaseRobolectricTestRunner.class)
public class TabSwitcherPaneCoordinatorUnitTest {
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@ -157,9 +155,9 @@ public class TabSwitcherPaneCoordinatorUnitTest {
@Before
public void setUp() {
when(mFaviconHelperJniMock.init()).thenReturn(1L);
mJniMocker.mock(FaviconHelperJni.TEST_HOOKS, mFaviconHelperJniMock);
FaviconHelperJni.setInstanceForTesting(mFaviconHelperJniMock);
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
when(mTabGroupSyncFeaturesJniMock.isTabGroupSyncEnabled(mProfile)).thenReturn(true);
TabGroupSyncServiceFactory.setForTesting(mTabGroupSyncService);
DataSharingServiceFactory.setForTesting(mDataSharingService);

@ -33,7 +33,6 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@ -63,7 +62,6 @@ import java.util.concurrent.TimeUnit;
@DisableFeatures(ChromeFeatureList.ANDROID_TAB_DECLUTTER)
public class TabsSettingsUnitTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
private ActivityScenario<TestActivity> mActivityScenario;
private TestActivity mActivity;
@ -76,9 +74,9 @@ public class TabsSettingsUnitTest {
@Before
public void setUp() {
mJniMocker.mock(UserPrefsJni.TEST_HOOKS, mUserPrefsJniMock);
UserPrefsJni.setInstanceForTesting(mUserPrefsJniMock);
when(mUserPrefsJniMock.get(mProfileMock)).thenReturn(mPrefServiceMock);
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
doReturn(true).when(mTabGroupSyncFeaturesJniMock).isTabGroupSyncEnabled(mProfileMock);
mActivityScenario = ActivityScenario.launch(TestActivity.class);

@ -49,7 +49,6 @@ import androidx.test.filters.MediumTest;
import com.google.protobuf.ByteString;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -66,7 +65,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridge;
@ -124,7 +122,6 @@ import java.util.concurrent.atomic.AtomicInteger;
@EnableFeatures(ChromeFeatureList.COMMERCE_PRICE_TRACKING)
@Batch(Batch.UNIT_TESTS)
public class TabListViewHolderTest extends BlankUiTestActivityTestCase {
@Rule public JniMocker mMocker = new JniMocker();
private static final int TAB1_ID = 456;
private static final int TAB2_ID = 789;
@ -353,7 +350,7 @@ public class TabListViewHolderTest extends BlankUiTestActivityTestCase {
PropertyModelChangeProcessor.create(
mGridModel, mTabListView, TabListViewBinder::bindTab);
});
mMocker.mock(LevelDBPersistedDataStorageJni.TEST_HOOKS, mLevelDbPersistedTabDataStorage);
LevelDBPersistedDataStorageJni.setInstanceForTesting(mLevelDbPersistedTabDataStorage);
doNothing()
.when(mLevelDbPersistedTabDataStorage)
.init(any(LevelDBPersistedDataStorage.class), any(BrowserContextHandle.class));
@ -363,15 +360,14 @@ public class TabListViewHolderTest extends BlankUiTestActivityTestCase {
ProfileManager.setLastUsedProfileForTesting(mProfile);
PriceTrackingFeatures.setPriceTrackingEnabledForTesting(false);
mMocker.mock(UrlUtilitiesJni.TEST_HOOKS, mUrlUtilitiesJniMock);
mMocker.mock(CurrencyFormatterJni.TEST_HOOKS, mCurrencyFormatterJniMock);
UrlUtilitiesJni.setInstanceForTesting(mUrlUtilitiesJniMock);
CurrencyFormatterJni.setInstanceForTesting(mCurrencyFormatterJniMock);
doReturn(1L)
.when(mCurrencyFormatterJniMock)
.initCurrencyFormatterAndroid(
any(CurrencyFormatter.class), anyString(), anyString());
doNothing().when(mCurrencyFormatterJniMock).setMaxFractionalDigits(anyLong(), anyInt());
mMocker.mock(
OptimizationGuideBridgeFactoryJni.TEST_HOOKS,
OptimizationGuideBridgeFactoryJni.setInstanceForTesting(
mOptimizationGuideBridgeFactoryJniMock);
doReturn(mOptimizationGuideBridge)
.when(mOptimizationGuideBridgeFactoryJniMock)

@ -28,7 +28,6 @@ import androidx.test.filters.SmallTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@ -43,7 +42,6 @@ import org.chromium.base.Callback;
import org.chromium.base.shared_preferences.SharedPreferencesManager;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.device_reauth.BiometricStatus;
import org.chromium.chrome.browser.device_reauth.ReauthenticatorBridge;
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager;
@ -67,7 +65,6 @@ import org.chromium.components.user_prefs.UserPrefsJni;
@Config(manifest = Config.NONE, sdk = VERSION_CODES.R)
@LooperMode(Mode.PAUSED)
public class IncognitoReauthPromoMessageServiceUnitTest {
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private Profile mProfileMock;
@Mock private Context mContextMock;
@ -88,7 +85,7 @@ public class IncognitoReauthPromoMessageServiceUnitTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(UserPrefsJni.TEST_HOOKS, mUserPrefsJniMock);
UserPrefsJni.setInstanceForTesting(mUserPrefsJniMock);
when(mUserPrefsJniMock.get(mProfileMock)).thenReturn(mPrefServiceMock);
IncognitoReauthManager.setIsIncognitoReauthFeatureAvailableForTesting(false);

@ -66,7 +66,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.UserActionTester;
import org.chromium.chrome.browser.collaboration.CollaborationServiceFactory;
import org.chromium.chrome.browser.collaboration.messaging.MessagingBackendServiceFactory;
@ -147,8 +146,6 @@ public class TabGridDialogMediatorUnitTest {
private static final int POSITION1 = 0;
private static final int POSITION2 = 1;
private static final Token TAB_GROUP_ID = new Token(1L, 2L);
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock private Profile mProfile;
@ -207,7 +204,7 @@ public class TabGridDialogMediatorUnitTest {
public void setUp() {
mActionTester = new UserActionTester();
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
doReturn(true).when(mTabGroupSyncFeaturesJniMock).isTabGroupSyncEnabled(mProfile);
when(mProfile.getOriginalProfile()).thenReturn(mProfile);
when(mProfile.isNativeInitialized()).thenReturn(true);

@ -63,7 +63,6 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory;
import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator;
@ -122,8 +121,6 @@ public class TabGroupUiMediatorUnitTest {
private static final int TAB3_ROOT_ID = TAB2_ID;
private static final String GROUP_TITLE = "My Group";
private static final Token TAB2_GROUP_ID = new Token(1L, 2L);
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock private Profile mProfile;
@ -287,7 +284,7 @@ public class TabGroupUiMediatorUnitTest {
when(resources.getInteger(R.integer.min_screen_width_bucket)).thenReturn(1);
when(mContext.getResources()).thenReturn(resources);
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
doReturn(true).when(mTabGroupSyncFeaturesJniMock).isTabGroupSyncEnabled(mProfile);
TabGroupSyncServiceFactory.setForTesting(mTabGroupSyncService);
DataSharingServiceFactory.setForTesting(mDataSharingService);

@ -19,7 +19,6 @@ import androidx.appcompat.widget.DialogTitle;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@ -31,7 +30,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.profiles.Profile;
@ -62,8 +60,6 @@ public class TabGroupVisualDataDialogManagerUnitTest {
private static final String TAB_GROUP_CREATION_DIALOG_SYNC_TEXT_FEATURE =
FeatureConstants.TAB_GROUP_CREATION_DIALOG_SYNC_TEXT_FEATURE;
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock TabGroupSyncFeatures.Natives mTabGroupSyncFeaturesJniMock;
@Mock private Tracker mTracker;
@Mock private SyncService mSyncService;
@ -89,7 +85,7 @@ public class TabGroupVisualDataDialogManagerUnitTest {
mModalDialogManager,
TabGroupVisualDataDialogManager.DialogType.TAB_GROUP_CREATION,
R.string.tab_group_creation_dialog_title);
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
SyncServiceFactory.setInstanceForTesting(mSyncService);
doReturn(mTabModel).when(mTabGroupModelFilter).getTabModel();

@ -19,7 +19,6 @@ import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -29,7 +28,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.MockTab;
import org.chromium.chrome.browser.tab.Tab;
@ -58,7 +56,6 @@ import java.util.Set;
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class TabListEditorShareActionUnitTest {
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private TabGroupModelFilter mTabGroupModelFilter;
@Mock private SelectionDelegate<Integer> mSelectionDelegate;
@ -113,7 +110,7 @@ public class TabListEditorShareActionUnitTest {
})
.when(mTabGroupModelFilter)
.getRelatedTabList(anyInt());
mJniMocker.mock(DomDistillerUrlUtilsJni.TEST_HOOKS, mDomDistillerUrlUtilsJni);
DomDistillerUrlUtilsJni.setInstanceForTesting(mDomDistillerUrlUtilsJni);
}
@Test

@ -96,7 +96,6 @@ import org.chromium.base.supplier.Supplier;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.build.BuildConfig;
import org.chromium.chrome.browser.collaboration.CollaborationServiceFactory;
import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory;
@ -210,7 +209,6 @@ import java.util.stream.Collectors;
@DisableFeatures({ChromeFeatureList.DATA_SHARING})
public class TabListMediatorUnitTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mMocker = new JniMocker();
private static final String TAB1_TITLE = "Tab1";
private static final String TAB2_TITLE = "Tab2";
@ -377,11 +375,10 @@ public class TabListMediatorUnitTest {
@Before
public void setUp() {
mMocker.mock(UrlUtilitiesJni.TEST_HOOKS, mUrlUtilitiesJniMock);
mMocker.mock(
OptimizationGuideBridgeFactoryJni.TEST_HOOKS,
UrlUtilitiesJni.setInstanceForTesting(mUrlUtilitiesJniMock);
OptimizationGuideBridgeFactoryJni.setInstanceForTesting(
mOptimizationGuideBridgeFactoryJniMock);
mMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
doReturn(mOptimizationGuideBridge)
.when(mOptimizationGuideBridgeFactoryJniMock)
.getForProfile(mProfile);

@ -62,7 +62,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.base.supplier.SyncOneshotSupplierImpl;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.UserActionTester;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.layouts.Layout.ViewportMode;
@ -108,7 +107,6 @@ public class HubLayoutUnitTest {
private static final long FAKE_TIME = 0L;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule
public ActivityScenarioRule<TestActivity> mActivityScenarioRule =
@ -154,9 +152,9 @@ public class HubLayoutUnitTest {
@Before
public void setUp() {
mJniMocker.mock(SceneLayerJni.TEST_HOOKS, mSceneLayerJni);
mJniMocker.mock(StaticTabSceneLayerJni.TEST_HOOKS, mStaticTabSceneLayerJni);
mJniMocker.mock(SolidColorSceneLayerJni.TEST_HOOKS, mSolidColorSceneLayerJni);
SceneLayerJni.setInstanceForTesting(mSceneLayerJni);
StaticTabSceneLayerJni.setInstanceForTesting(mStaticTabSceneLayerJni);
SolidColorSceneLayerJni.setInstanceForTesting(mSolidColorSceneLayerJni);
mActionTester = new UserActionTester();
ShadowLooper.runUiThreadTasks();

@ -15,7 +15,6 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -28,7 +27,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
@ -54,8 +52,6 @@ public class ContextualPageActionControllerUnitTest {
@Mock private AdaptiveToolbarButtonController mMockAdaptiveToolbarController;
@Mock private ContextualPageActionController.Natives mMockControllerJni;
@Rule public JniMocker mJniMocker = new JniMocker();
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
@ -63,7 +59,7 @@ public class ContextualPageActionControllerUnitTest {
mProfileSupplier = new ObservableSupplierImpl<>();
mTabSupplier = new ObservableSupplierImpl<>();
mJniMocker.mock(ContextualPageActionControllerJni.TEST_HOOKS, mMockControllerJni);
ContextualPageActionControllerJni.setInstanceForTesting(mMockControllerJni);
doReturn(mMockConfiguration).when(mMockResources).getConfiguration();
doReturn(true).when(mMockActivityLifecycleDispatcher).isNativeInitializationFinished();
}

@ -15,7 +15,6 @@ import android.os.Handler;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -26,7 +25,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.commerce.PriceTrackingUtils;
import org.chromium.chrome.browser.commerce.PriceTrackingUtilsJni;
@ -49,7 +47,6 @@ import java.util.Optional;
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class PriceTrackingActionProviderTest {
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock PriceTrackingUtils.Natives mMockPriceTrackingUtilsJni;
@ -70,8 +67,8 @@ public class PriceTrackingActionProviderTest {
}
private void setBookmarkModelReady() {
mJniMocker.mock(PriceTrackingUtilsJni.TEST_HOOKS, mMockPriceTrackingUtilsJni);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
PriceTrackingUtilsJni.setInstanceForTesting(mMockPriceTrackingUtilsJni);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
// Setup bookmark model expectations.
Mockito.doAnswer(

@ -16,7 +16,6 @@ import androidx.annotation.ColorInt;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -26,7 +25,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.ObserverList.RewindableIterator;
import org.chromium.base.UserDataHost;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.content_public.browser.WebContents;
import org.chromium.url.JUnitTestGURLs;
@ -51,8 +49,6 @@ public class TabFaviconTest {
public void rewind() {}
}
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private TabFavicon.Natives mTabFaviconJni;
@Mock private TabImpl mTab;
@Mock private Context mContext;
@ -65,7 +61,7 @@ public class TabFaviconTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(TabFaviconJni.TEST_HOOKS, mTabFaviconJni);
TabFaviconJni.setInstanceForTesting(mTabFaviconJni);
mUserDataHost = new UserDataHost();
doReturn(mUserDataHost).when(mTab).getUserDataHost();

@ -33,7 +33,6 @@ import org.robolectric.RuntimeEnvironment;
import org.chromium.base.Callback;
import org.chromium.base.Token;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.collaboration.CollaborationServiceFactory;
import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory;
import org.chromium.chrome.browser.data_sharing.DataSharingTabGroupUtils.GroupsPendingDestroy;
@ -71,7 +70,6 @@ public class TabModelRemoverUnitTest {
private static final LocalTabGroupId TAB_GROUP_2 = new LocalTabGroupId(new Token(2L, 3L));
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private Profile mProfile;
@Mock private IdentityServicesProvider mIdentityServicesProvider;
@ -97,7 +95,7 @@ public class TabModelRemoverUnitTest {
@Before
public void setUp() {
mJniMocker.mock(TabGroupSyncFeaturesJni.TEST_HOOKS, mTabGroupSyncFeaturesJniMock);
TabGroupSyncFeaturesJni.setInstanceForTesting(mTabGroupSyncFeaturesJniMock);
doReturn(true).when(mTabGroupSyncFeaturesJniMock).isTabGroupSyncEnabled(mProfile);
IdentityServicesProvider.setInstanceForTests(mIdentityServicesProvider);

@ -37,7 +37,6 @@ import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.UrlUtils;
import org.chromium.chrome.browser.ChromeTabbedActivity;
@ -101,8 +100,6 @@ public class TabbedAppMenuTest {
.setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_MOBILE_APP_MENU)
.build();
@Rule public final JniMocker mJniMocker = new JniMocker();
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
private AppMenuHandler mAppMenuHandler;
@ -111,7 +108,7 @@ public class TabbedAppMenuTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
// Prevent "GmsCore outdated" error from being exposed in bots with old version.
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
when(mPasswordManagerUtilBridgeJniMock.isGmsCoreUpdateRequired(any(), any()))
.thenReturn(false);

@ -76,7 +76,6 @@ import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
@ -172,7 +171,6 @@ public class BookmarkTest {
public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private SyncService mSyncService;
@Mock private ShoppingService mShoppingService;
@ -200,10 +198,10 @@ public class BookmarkTest {
@Before
public void setUp() {
// Setup the shopping service.
mJniMocker.mock(ShoppingServiceFactoryJni.TEST_HOOKS, mShoppingServiceFactoryJniMock);
ShoppingServiceFactoryJni.setInstanceForTesting(mShoppingServiceFactoryJniMock);
doReturn(mShoppingService).when(mShoppingServiceFactoryJniMock).getForProfile(any());
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
doReturn(false).when(mCommerceFeatureUtilsJniMock).isShoppingListEligible(anyLong());
mActivityTestRule.startMainActivityOnBlankPage();

@ -44,7 +44,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.PackageManagerWrapper;
import org.chromium.base.test.util.RequiresRestart;
import org.chromium.chrome.browser.ChromeTabbedActivity;
@ -81,8 +80,6 @@ public final class TabbedActivityLaunchCauseMetricsTest {
@ClassRule
public static final ChromeBrowserTestRule sBrowserTestRule = new ChromeBrowserTestRule();
@Rule public final JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS);
@Mock private ServiceTabLauncher.Natives mServiceTabLauncherJni;
@ -279,7 +276,7 @@ public final class TabbedActivityLaunchCauseMetricsTest {
@MediumTest
public void testServiceWorkerTabLaunch() throws Throwable {
final int count = 1 + histogramCountForValue(LaunchCauseMetrics.LaunchCause.NOTIFICATION);
mJniMocker.mock(ServiceTabLauncherJni.TEST_HOOKS, mServiceTabLauncherJni);
ServiceTabLauncherJni.setInstanceForTesting(mServiceTabLauncherJni);
mActivityTestRule.setActivity(
ApplicationTestUtils.waitForActivityWithClass(
ChromeTabbedActivity.class,

@ -22,7 +22,6 @@ import org.mockito.junit.MockitoRule;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@ -41,8 +40,6 @@ public class AutofillSnackbarControllerTest {
@Rule
public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
@Rule public JniMocker mMocker = new JniMocker();
private static final String SNACKBAR_MESSAGE_TEXT = "message_text";
private static final String SNACKBAR_ACTION_TEXT = "action_text";
private static final int SNACKBAR_DURATION = 10000;
@ -59,7 +56,7 @@ public class AutofillSnackbarControllerTest {
mSnackbarManager = mActivityTestRule.getActivity().getSnackbarManager();
mAutofillSnackbarController =
new AutofillSnackbarController(NATIVE_AUTOFILL_SNACKBAR_VIEW, mSnackbarManager);
mMocker.mock(AutofillSnackbarControllerJni.TEST_HOOKS, mNativeMock);
AutofillSnackbarControllerJni.setInstanceForTesting(mNativeMock);
}
@Test

@ -29,7 +29,6 @@ import org.chromium.base.test.params.ParameterizedRunner;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.night_mode.ChromeNightModeTestUtils;
@ -72,7 +71,6 @@ public class SaveUpdateAddressProfilePromptRenderTest {
.build();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private SaveUpdateAddressProfilePromptController.Natives mPromptControllerJni;
@Mock private AutofillProfileBridge.Natives mAutofillProfileBridgeJni;
@ -110,9 +108,8 @@ public class SaveUpdateAddressProfilePromptRenderTest {
SaveUpdateAddressProfilePromptController.create(
NATIVE_SAVE_UPDATE_ADDRESS_PROFILE_PROMPT_CONTROLLER);
mJniMocker.mock(
SaveUpdateAddressProfilePromptControllerJni.TEST_HOOKS, mPromptControllerJni);
mJniMocker.mock(AutofillProfileBridgeJni.TEST_HOOKS, mAutofillProfileBridgeJni);
SaveUpdateAddressProfilePromptControllerJni.setInstanceForTesting(mPromptControllerJni);
AutofillProfileBridgeJni.setInstanceForTesting(mAutofillProfileBridgeJni);
}
@After

@ -46,7 +46,6 @@ import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.autofill.AutofillTestHelper;
import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
@ -96,8 +95,6 @@ public class AutofillPaymentMethodsFragmentTest {
mSettingsActivityTestRule =
new SettingsActivityTestRule<>(AutofillPaymentMethodsFragment.class);
@Rule public JniMocker mMocker = new JniMocker();
@Mock private ReauthenticatorBridge mReauthenticatorMock;
@Mock private AutofillPaymentMethodsDelegate.Natives mNativeMock;
@Mock private Callback<String> mServerIbanManageLinkOpenerCallback;
@ -1086,7 +1083,7 @@ public class AutofillPaymentMethodsFragmentTest {
public void testDeleteSavedCvcsConfirmationDialogDeleteButton_whenClicked_deleteCvcs()
throws Exception {
mAutofillTestHelper.addServerCreditCard(SAMPLE_CARD_WITH_CVC);
mMocker.mock(AutofillPaymentMethodsDelegateJni.TEST_HOOKS, mNativeMock);
AutofillPaymentMethodsDelegateJni.setInstanceForTesting(mNativeMock);
when(mNativeMock.init(any(Profile.class)))
.thenReturn(NATIVE_AUTOFILL_PAYMENTS_METHODS_DELEGATE);

@ -57,7 +57,6 @@ import org.chromium.base.test.util.ApplicationTestUtils;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.autofill.AutofillEditorBase;
import org.chromium.chrome.browser.autofill.AutofillTestHelper;
import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
@ -78,7 +77,6 @@ import java.util.concurrent.TimeoutException;
@RunWith(ChromeJUnit4ClassRunner.class)
public class AutofillServerCardEditorTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mMocker = new JniMocker();
@Rule public final AutofillTestRule rule = new AutofillTestRule();
@Rule
@ -178,7 +176,7 @@ public class AutofillServerCardEditorTest {
@Before
public void setUp() {
reset(mNativeMock);
mMocker.mock(AutofillPaymentMethodsDelegateJni.TEST_HOOKS, mNativeMock);
AutofillPaymentMethodsDelegateJni.setInstanceForTesting(mNativeMock);
when(mNativeMock.init(any(Profile.class)))
.thenReturn(NATIVE_AUTOFILL_PAYMENTS_METHODS_DELEGATE);
mAutofillTestHelper = new AutofillTestHelper();

@ -39,7 +39,6 @@ import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.commerce.PriceTrackingUtils;
import org.chromium.chrome.browser.commerce.PriceTrackingUtilsJni;
@ -86,7 +85,6 @@ public class BookmarkSaveFlowTest {
.build();
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public final JniMocker mJniMocker = new JniMocker();
@Mock private ShoppingService mShoppingService;
@Mock private PriceTrackingUtils.Natives mMockPriceTrackingUtilsJni;
@ -107,7 +105,7 @@ public class BookmarkSaveFlowTest {
mActivity = mSyncTestRule.getActivity();
// Setup mocks.
mJniMocker.mock(PriceTrackingUtilsJni.TEST_HOOKS, mMockPriceTrackingUtilsJni);
PriceTrackingUtilsJni.setInstanceForTesting(mMockPriceTrackingUtilsJni);
doReturn(mAccountInfo).when(mIdentityManager).getPrimaryAccountInfo(anyInt());
ThreadUtils.runOnUiThreadBlocking(

@ -36,7 +36,6 @@ import org.chromium.base.test.params.ParameterSet;
import org.chromium.base.test.params.ParameterizedRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.RequiresRestart;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.ImprovedBookmarkRowProperties.ImageVisibility;
@ -87,8 +86,6 @@ public class ImprovedBookmarkRowRenderTest {
.setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_BOOKMARKS)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private CurrencyFormatter.Natives mCurrencyFormatterJniMock;
@Mock private ShoppingService mShoppingService;
@ -113,7 +110,7 @@ public class ImprovedBookmarkRowRenderTest {
mActivityTestRule.launchActivity(null);
mActivityTestRule.getActivity().setTheme(R.style.Theme_BrowserUI_DayNight);
mJniMocker.mock(CurrencyFormatterJni.TEST_HOOKS, mCurrencyFormatterJniMock);
CurrencyFormatterJni.setInstanceForTesting(mCurrencyFormatterJniMock);
doAnswer(
(invocation) -> {
return "$" + invocation.getArgument(2);

@ -26,7 +26,6 @@ import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.customtabs.CustomTabActivityTestRule;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.tab.Tab;
@ -65,8 +64,6 @@ public class TrustedWebActivityShareTargetTest {
@Rule public EmbeddedTestServerRule mEmbeddedTestServerRule = new EmbeddedTestServerRule();
@Rule public JniMocker mJniMocker = new JniMocker();
private static final String TEST_PAGE = "/chrome/test/data/android/google.html";
private static final String SHARE_TEST_PAGE = "/chrome/test/data/android/about.html";
private static final String PACKAGE_NAME =
@ -84,7 +81,7 @@ public class TrustedWebActivityShareTargetTest {
@Before
public void setUp() throws Exception {
mJniMocker.mock(WebApkPostShareTargetNavigatorJni.TEST_HOOKS, mPostNavigatorNatives);
WebApkPostShareTargetNavigatorJni.setInstanceForTesting(mPostNavigatorNatives);
mCustomTabActivityTestRule.setFinishActivity(true);
LibraryLoader.getInstance().ensureInitialized();

@ -74,7 +74,6 @@ import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.browsing_data.BrowsingDataBridge.OnClearBrowsingDataListener;
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment.DialogOption;
@ -126,8 +125,6 @@ public class ClearBrowsingDataFragmentTest {
@Rule public final SigninTestRule mSigninTestRule = new SigninTestRule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private BrowsingDataBridge.Natives mBrowsingDataBridgeMock;
@Mock private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
@ -140,7 +137,7 @@ public class ClearBrowsingDataFragmentTest {
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(BrowsingDataBridgeJni.TEST_HOOKS, mBrowsingDataBridgeMock);
BrowsingDataBridgeJni.setInstanceForTesting(mBrowsingDataBridgeMock);
// Ensure that whenever the mock is asked to clear browsing data, the callback is
// immediately called.
doAnswer(

@ -39,7 +39,6 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.JniMocker;
import org.chromium.blink_public.common.ContextMenuDataMediaType;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.IntentHandler;
@ -80,8 +79,6 @@ public class ChromeContextMenuPopulatorTest {
private static final String IMAGE_TITLE_TEXT = "IMAGE!";
private static final String RETRIEVED_IMAGE_URL = "http://www.blah.com/retrieved_image.jpg";
@Rule public JniMocker jniMocker = new JniMocker();
@Rule
public AutomotiveContextWrapperTestRule mAutomotiveRule =
new AutomotiveContextWrapperTestRule();
@ -117,7 +114,7 @@ public class ChromeContextMenuPopulatorTest {
when(mItemDelegate.supportsAddToContacts()).thenReturn(true);
when(mItemDelegate.getWebContents()).thenReturn(mWebContents);
jniMocker.mock(ProfileJni.TEST_HOOKS, mProfileNatives);
ProfileJni.setInstanceForTesting(mProfileNatives);
when(mProfileNatives.fromWebContents(eq(mWebContents))).thenReturn(mProfile);
ThreadUtils.runOnUiThreadBlocking(

@ -14,7 +14,6 @@ import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@ -28,7 +27,6 @@ import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -44,7 +42,6 @@ import org.chromium.ui.base.DeviceFormFactor;
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
@Batch(Batch.PER_CLASS)
public class ContextualSearchCriticalTest extends ContextualSearchInstrumentationBase {
@Rule public JniMocker mocker = new JniMocker();
// Needed to avoid issues on Release builds where Natives is made final and can not be Spy'd
// below.
@ -59,7 +56,7 @@ public class ContextualSearchCriticalTest extends ContextualSearchInstrumentatio
mTestPage = "/chrome/test/data/android/contextualsearch/tap_test.html";
mContextualSearchManagerNatives = Mockito.spy(new ContextualSearchManagerJni());
mocker.mock(ContextualSearchManagerJni.TEST_HOOKS, mContextualSearchManagerNatives);
ContextualSearchManagerJni.setInstanceForTesting(mContextualSearchManagerNatives);
super.setUp();
}

@ -8,7 +8,6 @@ import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -18,7 +17,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -31,7 +29,6 @@ import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
@Batch(Batch.PER_CLASS)
public class ContextualSearchTest extends ContextualSearchInstrumentationBase {
@Rule public JniMocker mocker = new JniMocker();
@Mock ContextualSearchManager.Natives mContextualSearchManagerJniMock;
@ -41,7 +38,7 @@ public class ContextualSearchTest extends ContextualSearchInstrumentationBase {
super.setUp();
MockitoAnnotations.initMocks(this);
mocker.mock(ContextualSearchManagerJni.TEST_HOOKS, mContextualSearchManagerJniMock);
ContextualSearchManagerJni.setInstanceForTesting(mContextualSearchManagerJniMock);
ThreadUtils.runOnUiThreadBlocking(
() -> {

@ -56,7 +56,6 @@ import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.PackageManagerWrapper;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.ChromeTabbedActivity;
@ -97,8 +96,6 @@ public class CustomTabActivityAppMenuTest {
private static final int NUM_CHROME_MENU_ITEMS_WITH_DIVIDER = 7;
private static final String TEST_PAGE = "/chrome/test/data/android/google.html";
private static final String TEST_MENU_TITLE = "testMenuTitle";
@Rule public JniMocker jniMocker = new JniMocker();
@Mock private TranslateBridge.Natives mTranslateBridgeJniMock;
@Rule
@ -140,10 +137,9 @@ public class CustomTabActivityAppMenuTest {
MockitoAnnotations.initMocks(this);
// Mock translate bridge so "Translate..." menu item doesn't unexpectedly show up.
jniMocker.mock(
org.chromium.chrome.browser.translate.TranslateBridgeJni.TEST_HOOKS,
org.chromium.chrome.browser.translate.TranslateBridgeJni.setInstanceForTesting(
mTranslateBridgeJniMock);
jniMocker.mock(TranslateBridgeJni.TEST_HOOKS, mTranslateBridgeJniMock);
TranslateBridgeJni.setInstanceForTesting(mTranslateBridgeJniMock);
ThreadUtils.runOnUiThreadBlocking(() -> FirstRunStatus.setFirstRunFlowComplete(true));
mTestPage = mCustomTabActivityTestRule.getTestServer().getURL(TEST_PAGE);

@ -58,7 +58,6 @@ import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.customtabs.CustomTabsIntentTestUtils.OnFinishedForTest;
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar;
@ -106,8 +105,6 @@ public class CustomTabActivityIncognitoTest {
new IncognitoCustomTabActivityTestRule();
@Rule public EmbeddedTestServerRule mEmbeddedTestServerRule = new EmbeddedTestServerRule();
@Rule public JniMocker jniMocker = new JniMocker();
@Mock private TranslateBridge.Natives mTranslateBridgeJniMock;
@Before
@ -115,10 +112,9 @@ public class CustomTabActivityIncognitoTest {
MockitoAnnotations.initMocks(this);
// Mock translate bridge so "Translate..." menu item doesn't unexpectedly show up.
jniMocker.mock(
org.chromium.chrome.browser.translate.TranslateBridgeJni.TEST_HOOKS,
org.chromium.chrome.browser.translate.TranslateBridgeJni.setInstanceForTesting(
mTranslateBridgeJniMock);
jniMocker.mock(TranslateBridgeJni.TEST_HOOKS, mTranslateBridgeJniMock);
TranslateBridgeJni.setInstanceForTesting(mTranslateBridgeJniMock);
FirstRunStatus.setFirstRunFlowComplete(true);
mTestPage = mEmbeddedTestServerRule.getServer().getURL(TEST_PAGE);

@ -35,7 +35,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.MaxAndroidSdkLevel;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.profiles.ProfileManager;
@ -81,8 +80,6 @@ public class BluetoothChooserDialogTest {
public final BlankCTATabInitialStateRule mInitialStateRule =
new BlankCTATabInitialStateRule(sActivityTestRule, false);
@Rule public JniMocker mocker = new JniMocker();
private ActivityWindowAndroid mWindowAndroid;
private FakeLocationUtils mLocationUtils;
private BluetoothChooserDialog mChooserDialog;
@ -146,8 +143,7 @@ public class BluetoothChooserDialogTest {
mLocationUtils = new FakeLocationUtils();
LocationUtils.setFactory(() -> mLocationUtils);
mChooserDialog = createDialog();
mocker.mock(
BluetoothChooserDialogJni.TEST_HOOKS,
BluetoothChooserDialogJni.setInstanceForTesting(
new TestBluetoothChooserDialogJni(mChooserDialog));
}

@ -25,7 +25,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@ -56,8 +55,6 @@ public class BluetoothScanningPermissionDialogTest {
public final BlankCTATabInitialStateRule mInitialStateRule =
new BlankCTATabInitialStateRule(sActivityTestRule, false);
@Rule public JniMocker mocker = new JniMocker();
private int mFinishedEventType = -1;
private ActivityWindowAndroid mWindowAndroid;
@ -73,8 +70,7 @@ public class BluetoothScanningPermissionDialogTest {
@Before
public void setUp() throws Exception {
mocker.mock(
BluetoothScanningPermissionDialogJni.TEST_HOOKS,
BluetoothScanningPermissionDialogJni.setInstanceForTesting(
new TestBluetoothScanningPermissionDialogJni());
mPermissionDialog = createDialog();
}

@ -29,7 +29,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@ -57,8 +56,6 @@ public class UsbChooserDialogTest {
public final BlankCTATabInitialStateRule mInitialStateRule =
new BlankCTATabInitialStateRule(sActivityTestRule, false);
@Rule public JniMocker mocker = new JniMocker();
private String mSelectedDeviceId = "";
private UsbChooserDialog mChooserDialog;
@ -83,7 +80,7 @@ public class UsbChooserDialogTest {
@Before
public void setUp() throws Exception {
mocker.mock(UsbChooserDialogJni.TEST_HOOKS, new TestUsbChooserDialogJni());
UsbChooserDialogJni.setInstanceForTesting(new TestUsbChooserDialogJni());
mChooserDialog = createDialog();
}

@ -22,7 +22,6 @@ import static org.mockito.Mockito.when;
import androidx.annotation.StringRes;
import androidx.test.filters.MediumTest;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -31,7 +30,6 @@ import org.mockito.MockitoAnnotations;
import org.chromium.base.FeatureList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.download.DirectoryOption;
import org.chromium.chrome.browser.download.DownloadDialogBridge;
@ -66,8 +64,6 @@ public class DownloadLocationDialogTest extends BlankUiTestActivityTestCase {
private static final String PRIMARY_STORAGE_PATH = "/sdcard";
private static final String SECONDARY_STORAGE_PATH = "/android/Download";
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private DownloadLocationDialogController mController;
@Mock private Profile mProfileMock;
@Mock private Profile mIncognitoProfileMock;
@ -83,9 +79,9 @@ public class DownloadLocationDialogTest extends BlankUiTestActivityTestCase {
public void setUpTest() throws Exception {
super.setUpTest();
MockitoAnnotations.initMocks(this);
mJniMocker.mock(UserPrefsJni.TEST_HOOKS, mUserPrefsJniMock);
UserPrefsJni.setInstanceForTesting(mUserPrefsJniMock);
when(mUserPrefsJniMock.get(any())).thenReturn(mPrefService);
mJniMocker.mock(DownloadDialogBridgeJni.TEST_HOOKS, mDownloadDialogBridgeJniMock);
DownloadDialogBridgeJni.setInstanceForTesting(mDownloadDialogBridgeJniMock);
when(mPrefService.getString(Pref.DOWNLOAD_DEFAULT_DIRECTORY))
.thenReturn(PRIMARY_STORAGE_PATH);

@ -55,7 +55,6 @@ import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.ScalableTimeout;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.DeferredStartupHandler;
@ -106,8 +105,6 @@ public class FirstRunIntegrationTest {
private static final long ACTIVITY_WAIT_LONG_MS = TimeUnit.SECONDS.toMillis(20);
private static final String TEST_ENROLLMENT_TOKEN = "enrollment-token";
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule
public BasePartnerBrowserCustomizationIntegrationTestRule mCustomizationRule =
new BasePartnerBrowserCustomizationIntegrationTestRule();

@ -43,7 +43,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -71,8 +70,6 @@ public class PictureInPictureActivityTest {
@Rule
public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
@Rule public JniMocker mMocker = new JniMocker();
private static final long NATIVE_OVERLAY = 100L;
private static final long PIP_TIMEOUT_MILLISECONDS = 10000L;
@ -106,7 +103,7 @@ public class PictureInPictureActivityTest {
MockitoAnnotations.initMocks(this);
mActivityTestRule.startMainActivityOnBlankPage();
mTab = mActivityTestRule.getActivity().getActivityTab();
mMocker.mock(PictureInPictureActivityJni.TEST_HOOKS, mNativeMock);
PictureInPictureActivityJni.setInstanceForTesting(mNativeMock);
mOriginalHelper = PictureInPictureActivity.setLaunchIntoPipHelper(mLaunchIntoPipHelper);
}

@ -29,7 +29,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.chrome.browser.LauncherShortcutActivity;
import org.chromium.chrome.browser.base.ColdStartTracker;
@ -92,8 +91,6 @@ public class StartupLoadingMetricsTest {
@Rule public WebApkActivityTestRule mWebApkActivityTestRule = new WebApkActivityTestRule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule

@ -60,7 +60,6 @@ import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.UrlUtils;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.feed.FeedActionDelegate;
@ -146,7 +145,6 @@ public class NewTabPageTest {
.setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_NEW_TAB_PAGE)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock OmniboxStub mOmniboxStub;
@Mock VoiceRecognitionHandler mVoiceRecognitionHandler;
@Mock FeedReliabilityLogger mFeedReliabilityLogger;
@ -883,7 +881,7 @@ public class NewTabPageTest {
@SmallTest
@Feature({"NewTabPage"})
public void testRecordHistogramLogoClick_Ntp() {
mJniMocker.mock(LogoBridgeJni.TEST_HOOKS, mLogoBridgeJniMock);
LogoBridgeJni.setInstanceForTesting(mLogoBridgeJniMock);
NewTabPageLayout ntpLayout = mNtp.getNewTabPageLayout();
LogoCoordinator logoCoordinator = ntpLayout.getLogoCoordinatorForTesting();
logoCoordinator.setLogoBridgeForTesting(mLogoBridge);

@ -29,7 +29,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.ApplicationTestUtils;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionInSuggest;
import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionView;
@ -62,7 +61,6 @@ import java.util.List;
public class OmniboxActionsTest {
public static @ClassRule ChromeTabbedActivityTestRule sActivityTestRule =
new ChromeTabbedActivityTestRule();
public @Rule JniMocker mJniMocker = new JniMocker();
public @Rule MockitoRule mMockitoRule = MockitoJUnit.rule();
private @Mock AutocompleteController.Natives mAutocompleteControllerJniMock;
private @Mock OmniboxActionJni mOmniboxActionJni;
@ -81,8 +79,8 @@ public class OmniboxActionsTest {
public void setUp() throws InterruptedException {
sActivityTestRule.loadUrl("about:blank");
mOmniboxUtils = new OmniboxTestUtils(sActivityTestRule.getActivity());
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, mAutocompleteControllerJniMock);
mJniMocker.mock(OmniboxActionJni.TEST_HOOKS, mOmniboxActionJni);
AutocompleteControllerJni.setInstanceForTesting(mAutocompleteControllerJniMock);
OmniboxActionJni.setInstanceForTesting(mOmniboxActionJni);
}
@After
@ -97,8 +95,8 @@ public class OmniboxActionsTest {
if (mTargetActivity != null) {
ApplicationTestUtils.finishActivity(mTargetActivity);
}
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, null);
mJniMocker.mock(OmniboxActionJni.TEST_HOOKS, null);
AutocompleteControllerJni.setInstanceForTesting(null);
OmniboxActionJni.setInstanceForTesting(null);
}
/**

@ -45,7 +45,6 @@ import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.accessibility.settings.AccessibilitySettings;
import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragment;
@ -93,7 +92,6 @@ public class OmniboxPedalsTest {
public static @ClassRule ChromeTabbedActivityTestRule sActivityTestRule =
new ChromeTabbedActivityTestRule();
public @Rule MockitoRule mMockitoRule = MockitoJUnit.rule();
public @Rule JniMocker mJniMocker = new JniMocker();
private @Mock OmniboxActionJni mOmniboxActionJni;
private OmniboxTestUtils mOmniboxUtils;
@ -111,7 +109,7 @@ public class OmniboxPedalsTest {
OmniboxFeatures.setShouldRetainOmniboxOnFocusForTesting(false);
sActivityTestRule.loadUrl("about:blank");
mOmniboxUtils = new OmniboxTestUtils(sActivityTestRule.getActivity());
mJniMocker.mock(OmniboxActionJni.TEST_HOOKS, mOmniboxActionJni);
OmniboxActionJni.setInstanceForTesting(mOmniboxActionJni);
}
@After
@ -129,8 +127,8 @@ public class OmniboxPedalsTest {
.getActivity()
.getModalDialogManager()
.dismissAllDialogs(DialogDismissalCause.NEGATIVE_BUTTON_CLICKED));
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, null);
mJniMocker.mock(OmniboxActionJni.TEST_HOOKS, null);
AutocompleteControllerJni.setInstanceForTesting(null);
OmniboxActionJni.setInstanceForTesting(null);
}
/**

@ -41,7 +41,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.omnibox.LocationBarLayout;
@ -89,7 +88,6 @@ public class MostVisitedTilesTest {
new ChromeTabbedActivityTestRule();
public @Rule MockitoRule mMockitoRule = MockitoJUnit.rule();
public @Rule JniMocker mJniMocker = new JniMocker();
private @Mock AutocompleteController.Natives mAutocompleteControllerJniMock;
private @Mock AutocompleteController mController;
private @Captor ArgumentCaptor<AutocompleteController.OnSuggestionsReceivedListener> mListener;
@ -110,7 +108,7 @@ public class MostVisitedTilesTest {
@Before
public void setUp() throws Exception {
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, mAutocompleteControllerJniMock);
AutocompleteControllerJni.setInstanceForTesting(mAutocompleteControllerJniMock);
doReturn(mController).when(mAutocompleteControllerJniMock).getForProfile(any());
mActivityTestRule.startMainActivityOnBlankPage();
@ -135,7 +133,7 @@ public class MostVisitedTilesTest {
@After
public void tearDown() {
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, null);
AutocompleteControllerJni.setInstanceForTesting(null);
}
/**

@ -43,7 +43,6 @@ import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@ -95,8 +94,6 @@ public class PageInfoAboutThisSiteTest {
@Rule public EmbeddedTestServerRule mTestServerRule = new EmbeddedTestServerRule();
@Rule public JniMocker mMocker = new JniMocker();
@Rule
public ChromeRenderTestRule mRenderTestRule =
ChromeRenderTestRule.Builder.withPublicCorpus()
@ -116,7 +113,7 @@ public class PageInfoAboutThisSiteTest {
doReturn(R.drawable.ic_info_outline_grey_24dp)
.when(mMockAboutThisSiteJni)
.getJavaDrawableIconId();
mMocker.mock(PageInfoAboutThisSiteControllerJni.TEST_HOOKS, mMockAboutThisSiteJni);
PageInfoAboutThisSiteControllerJni.setInstanceForTesting(mMockAboutThisSiteJni);
mTestServerRule.setServerUsesHttps(true);
sActivityTestRule.loadUrl(mTestServerRule.getServer().getURL(sSimpleHtml));

@ -53,7 +53,6 @@ import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.UserActionTester;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -110,8 +109,6 @@ public class PrivacySettingsFragmentTest {
.setRevision(1)
.build();
@Rule public JniMocker mocker = new JniMocker();
@Rule public MockitoRule mockito = MockitoJUnit.rule();
private FakePrivacySandboxBridge mFakePrivacySandboxBridge;
@ -211,7 +208,7 @@ public class PrivacySettingsFragmentTest {
public void setUp() {
NativeLibraryTestUtils.loadNativeLibraryAndInitBrowserProcess();
mFakePrivacySandboxBridge = new FakePrivacySandboxBridge();
mocker.mock(PrivacySandboxBridgeJni.TEST_HOOKS, mFakePrivacySandboxBridge);
PrivacySandboxBridgeJni.setInstanceForTesting(mFakePrivacySandboxBridge);
mActionTester = new UserActionTester();
}

@ -43,7 +43,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
@ -72,7 +71,6 @@ public class ReadLaterContextMenuTest {
@Rule public EmbeddedTestServerRule mTestServer = new EmbeddedTestServerRule();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mocker = new JniMocker();
@Mock private Tracker mTracker;
@Mock RequestCoordinatorBridge.Natives mRequestCoordinatorBridgeJniMock;
@ -97,7 +95,7 @@ public class ReadLaterContextMenuTest {
when(mTracker.shouldTriggerHelpUiWithSnooze(any()))
.thenReturn(new TriggerDetails(false, false));
mActivityTestRule.startMainActivityOnBlankPage();
mocker.mock(RequestCoordinatorBridgeJni.TEST_HOOKS, mRequestCoordinatorBridgeJniMock);
RequestCoordinatorBridgeJni.setInstanceForTesting(mRequestCoordinatorBridgeJniMock);
}
@Test

@ -27,7 +27,6 @@ import org.chromium.base.test.BaseActivityTestRule;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@ -63,8 +62,6 @@ public class SearchEngineSettingsRenderTest {
public final @Rule MockitoRule mMocks = MockitoJUnit.rule();
public final @Rule JniMocker mJniMocker = new JniMocker();
private @Mock TemplateUrlService mMockTemplateUrlService;
private @Mock Profile mProfile;
private @Mock LargeIconBridge.Natives mLargeIconBridgeNativeMock;
@ -93,7 +90,7 @@ public class SearchEngineSettingsRenderTest {
.getSearchEngineUrlFromTemplateUrl(engine2Keyword);
TemplateUrlServiceFactory.setInstanceForTesting(mMockTemplateUrlService);
mJniMocker.mock(LargeIconBridgeJni.TEST_HOOKS, mLargeIconBridgeNativeMock);
LargeIconBridgeJni.setInstanceForTesting(mLargeIconBridgeNativeMock);
mActivityTestRule.launchActivity(null);
TestLargeIconBridge largeIconBridge = new TestLargeIconBridge(mProfile);

@ -47,7 +47,6 @@ import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.CriteriaNotSatisfiedException;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
@ -175,7 +174,6 @@ public class SearchActivityTest {
// Needed for CT connection cleanup.
public @Rule CustomTabActivityTestRule mCustomTabActivityTestRule =
new CustomTabActivityTestRule();
public @Rule JniMocker mJniMocker = new JniMocker();
public @Rule MockitoRule mMockitoRule = MockitoJUnit.rule();
private @Mock AutocompleteController.Natives mAutocompleteControllerJniMock;
@ -191,7 +189,7 @@ public class SearchActivityTest {
MockitoAnnotations.initMocks(this);
doReturn(true).when(mHandler).isVoiceSearchEnabled();
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, mAutocompleteControllerJniMock);
AutocompleteControllerJni.setInstanceForTesting(mAutocompleteControllerJniMock);
doReturn(mAutocompleteController).when(mAutocompleteControllerJniMock).getForProfile(any());
doAnswer(
@ -212,7 +210,7 @@ public class SearchActivityTest {
@After
public void tearDown() {
mJniMocker.mock(AutocompleteControllerJni.TEST_HOOKS, null);
AutocompleteControllerJni.setInstanceForTesting(null);
}
private AutocompleteMatch buildSimpleAutocompleteMatch(String url) {

@ -71,7 +71,6 @@ import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.about_settings.AboutChromeSettings;
import org.chromium.chrome.browser.accessibility.settings.AccessibilitySettings;
import org.chromium.chrome.browser.autofill.settings.AutofillPaymentMethodsFragment;
@ -184,8 +183,6 @@ public class MainSettingsFragmentTest {
.setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_MOBILE_SETTINGS)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock public TemplateUrlService mMockTemplateUrlService;
@Mock public TemplateUrl mMockSearchEngine;
@ -208,7 +205,7 @@ public class MainSettingsFragmentTest {
MockitoAnnotations.initMocks(this);
InstrumentationRegistry.getInstrumentation().setInTouchMode(true);
PasswordCheckFactory.setPasswordCheckForTesting(mPasswordCheck);
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
SyncConsentActivityLauncherImpl.setLauncherForTest(mSyncConsentActivityLauncher);
SigninAndHistorySyncActivityLauncherImpl.setLauncherForTest(
mSigninAndHistorySyncActivityLauncher);

@ -26,7 +26,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.access_loss.PasswordAccessLossWarningType;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -61,8 +60,6 @@ public class PasswordsPreferenceTest {
.setRevision(1)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
@ -92,7 +89,7 @@ public class PasswordsPreferenceTest {
@Before
public void setUp() {
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
}
@Test

@ -191,7 +191,7 @@ public class SigninFirstRunFragmentTest {
mFakeEnterpriseInfo.initialize(
new OwnedState(/* isDeviceOwned= */ false, /* isProfileOwned= */ false));
FirstRunUtils.setDisableDelayOnExitFreForTest(true);
FirstRunUtilsJni.TEST_HOOKS.setInstanceForTesting(mFirstRunUtils);
FirstRunUtilsJni.setInstanceForTesting(mFirstRunUtils);
SigninCheckerProvider.setForTests(mSigninCheckerMock);
ThreadUtils.runOnUiThreadBlocking(

@ -38,7 +38,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.profiles.ProfileManager;
@ -81,8 +80,6 @@ public class SigninSignoutIntegrationTest {
public final RuleChain mRuleChain =
RuleChain.outerRule(mSigninTestRule).around(mActivityTestRule);
@Rule public final JniMocker mocker = new JniMocker();
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS);
@ -98,7 +95,7 @@ public class SigninSignoutIntegrationTest {
@Before
public void setUp() {
mocker.mock(SigninMetricsUtilsJni.TEST_HOOKS, mSigninMetricsUtilsNativeMock);
SigninMetricsUtilsJni.setInstanceForTesting(mSigninMetricsUtilsNativeMock);
mActivityTestRule.startMainActivityOnBlankPage();
ThreadUtils.runOnUiThreadBlocking(
() -> {

@ -31,7 +31,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.permissions.PermissionTestRule;
@ -74,8 +73,6 @@ public class AllSiteSettingsTest {
public BlankCTATabInitialStateRule mBlankCTATabInitialStateRule =
new BlankCTATabInitialStateRule(mPermissionRule, false);
@Rule public JniMocker mocker = new JniMocker();
private static BrowserContextHandle getBrowserContextHandle() {
return ProfileManager.getLastUsedRegularProfile();
}
@ -202,7 +199,7 @@ public class AllSiteSettingsTest {
public void testOneRwsGroupWithRelatedFilter() throws Exception {
FakeRwsPrivacySandboxBridge fakeRwsPrivacySandboxBridge =
new FakeRwsPrivacySandboxBridge(C_GITHUB_IO, Set.of(A_GITHUB_IO, B_GITHUB_IO));
mocker.mock(PrivacySandboxBridgeJni.TEST_HOOKS, fakeRwsPrivacySandboxBridge);
PrivacySandboxBridgeJni.setInstanceForTesting(fakeRwsPrivacySandboxBridge);
ThreadUtils.runOnUiThreadBlocking(
() -> {

@ -32,7 +32,6 @@ import org.mockito.MockitoAnnotations;
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
@ -64,7 +63,6 @@ public class FamilyLinkControlsTest {
public final RuleChain mRuleChain =
RuleChain.outerRule(mSigninTestRule).around(mActivityTestRule);
@Rule public JniMocker mocker = new JniMocker();
@Mock public WebsitePreferenceBridge.Natives mWebsitePreferenceBridgeJniMock;
@Before
@ -124,7 +122,7 @@ public class FamilyLinkControlsTest {
@Test
@SmallTest
public void testDeletingOnDeviceDataAllowedForSupervisedUsers() throws InterruptedException {
mocker.mock(WebsitePreferenceBridgeJni.TEST_HOOKS, mWebsitePreferenceBridgeJniMock);
WebsitePreferenceBridgeJni.setInstanceForTesting(mWebsitePreferenceBridgeJniMock);
when(mWebsitePreferenceBridgeJniMock.isContentSettingManagedByCustodian(
any(), eq(ContentSettingsType.COOKIES)))
.thenReturn(false);

@ -84,7 +84,6 @@ import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.UserActionTester;
import org.chromium.chrome.browser.FederatedIdentityTestUtils;
@ -183,8 +182,6 @@ public class SiteSettingsTest {
@Mock private SettingsNavigation mSettingsNavigation;
@Rule public JniMocker mocker = new JniMocker();
private PermissionUpdateWaiter mPermissionUpdateWaiter;
private static final String[] NULL_ARRAY = new String[0];

@ -53,7 +53,6 @@ import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.password_manager.PasswordManagerUtilBridge;
@ -106,15 +105,13 @@ public class AccountManagementFragmentTest {
.setBugComponent(ChromeRenderTestRule.Component.SERVICES_SYNC)
.build();
@Rule public final JniMocker mJniMocker = new JniMocker();
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
// Prevent "GmsCore outdated" error from being exposed in bots with old version.
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
when(mPasswordManagerUtilBridgeJniMock.isGmsCoreUpdateRequired(any(), any()))
.thenReturn(false);
}

@ -33,7 +33,6 @@ import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -66,8 +65,6 @@ import org.chromium.components.user_prefs.UserPrefs;
public class GoogleServicesSettingsTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public final JniMocker mJniMocker = new JniMocker();
@Rule public final SigninTestRule mSigninTestRule = new SigninTestRule();
public final ChromeTabbedActivityTestRule mActivityTestRule =
@ -86,7 +83,7 @@ public class GoogleServicesSettingsTest {
@Before
public void setUp() {
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mMockPasswordManagerUtilBridgeJni);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mMockPasswordManagerUtilBridgeJni);
mActivityTestRule.startMainActivityOnBlankPage();
ThreadUtils.runOnUiThreadBlocking(
() ->

@ -29,7 +29,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.password_manager.PasswordManagerUtilBridge;
@ -75,8 +74,6 @@ public class IdentityErrorCardPreferenceTest {
.setBugComponent(ChromeRenderTestRule.Component.SERVICES_SYNC)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
private FakeSyncServiceImpl mFakeSyncServiceImpl;
@ -84,7 +81,7 @@ public class IdentityErrorCardPreferenceTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
mActivityTestRule.startMainActivityOnBlankPage();

@ -76,7 +76,6 @@ import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.device_reauth.BiometricStatus;
import org.chromium.chrome.browser.device_reauth.ReauthenticatorBridge;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@ -193,8 +192,6 @@ public class ManageSyncSettingsTest {
.setBugComponent(ChromeRenderTestRule.Component.SERVICES_SYNC)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private UnifiedConsentServiceBridge.Natives mUnifiedConsentServiceBridgeMock;
@Mock private TemplateUrlService mTemplateUrlService;
@Mock private GoogleActivityController mGoogleActivityController;
@ -206,8 +203,7 @@ public class ManageSyncSettingsTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(
UnifiedConsentServiceBridgeJni.TEST_HOOKS, mUnifiedConsentServiceBridgeMock);
UnifiedConsentServiceBridgeJni.setInstanceForTesting(mUnifiedConsentServiceBridgeMock);
ThreadUtils.runOnUiThreadBlocking(
() -> {
Mockito.when(
@ -239,7 +235,7 @@ public class ManageSyncSettingsTest {
mUiDataTypes.put(UserSelectableType.APPS, ManageSyncSettings.PREF_SYNC_APPS);
}
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
}
/**

@ -53,7 +53,6 @@ import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.password_manager.PasswordManagerUtilBridge;
@ -96,9 +95,6 @@ public class ManageSyncSettingsWithFakeSyncServiceImplTest {
public final SettingsActivityTestRule<ManageSyncSettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(ManageSyncSettings.class);
@Rule(order = 2)
public final JniMocker mJniMocker = new JniMocker();
private SettingsActivity mSettingsActivity;
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
@ -107,7 +103,7 @@ public class ManageSyncSettingsWithFakeSyncServiceImplTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
// Prevent "GmsCore outdated" error from being exposed in bots with old version.
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
when(mPasswordManagerUtilBridgeJniMock.isGmsCoreUpdateRequired(any(), any()))
.thenReturn(false);
}

@ -31,7 +31,6 @@ import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.night_mode.ChromeNightModeTestUtils;
import org.chromium.chrome.browser.password_manager.PasswordManagerUtilBridge;
@ -78,8 +77,6 @@ public class SyncErrorCardPreferenceTest {
.setBugComponent(ChromeRenderTestRule.Component.SERVICES_SYNC)
.build();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
private FakeSyncServiceImpl mFakeSyncServiceImpl;
@ -98,7 +95,7 @@ public class SyncErrorCardPreferenceTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
// Start main activity before because native side needs to be initialized before overriding
// SyncService.

@ -44,7 +44,6 @@ import org.chromium.base.test.util.DoNotBatch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Matchers;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@ -74,7 +73,6 @@ import java.io.IOException;
@DoNotBatch(reason = "TODO(crbug.com/40743432): SyncTestRule doesn't support batching.")
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
public class SyncErrorMessageTest {
@Rule public final JniMocker mJniMocker = new JniMocker();
@Mock private PasswordManagerUtilBridge.Natives mPasswordManagerUtilBridgeJniMock;
@Mock private MessageDispatcher mMessageDispatcher;
@ -103,7 +101,7 @@ public class SyncErrorMessageTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mJniMocker.mock(PasswordManagerUtilBridgeJni.TEST_HOOKS, mPasswordManagerUtilBridgeJniMock);
PasswordManagerUtilBridgeJni.setInstanceForTesting(mPasswordManagerUtilBridgeJniMock);
SyncErrorMessageImpressionTracker.resetLastShownTime();
mFakeSyncServiceImpl = (FakeSyncServiceImpl) mSyncTestRule.getSyncService();
SyncErrorMessage.setMessageDispatcherForTesting(mMessageDispatcher);

@ -21,7 +21,6 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager;
@ -36,8 +35,6 @@ public class LevelDBPersistedTabDataStorageFactoryTest {
@Rule
public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
@Rule public JniMocker mMocker = new JniMocker();
@Mock private Profile mProfile1;
@Mock private Profile mProfile2;
@ -48,7 +45,7 @@ public class LevelDBPersistedTabDataStorageFactoryTest {
public void setUp() throws Exception {
mActivityTestRule.startMainActivityOnBlankPage();
MockitoAnnotations.initMocks(this);
mMocker.mock(LevelDBPersistedDataStorageJni.TEST_HOOKS, mLevelDBPersistedTabDataStorage);
LevelDBPersistedDataStorageJni.setInstanceForTesting(mLevelDBPersistedTabDataStorage);
doNothing()
.when(mLevelDBPersistedTabDataStorage)
.init(any(LevelDBPersistedDataStorage.class), any(BrowserContextHandle.class));

@ -13,7 +13,6 @@ import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -24,7 +23,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.MockTab;
@ -48,8 +46,6 @@ public class PersistedTabDataTest {
@Mock Tab mTab;
@Rule public JniMocker jniMocker = new JniMocker();
@Before
public void setUp() throws Exception {
// TODO(crbug.com/40229155): Remove runOnUiThreadBlocking call after code
@ -64,7 +60,7 @@ public class PersistedTabDataTest {
PriceTrackingFeatures.setPriceTrackingEnabledForTesting(false);
jniMocker.mock(PersistedTabDataJni.TEST_HOOKS, mPersistedTabDataJni);
PersistedTabDataJni.setInstanceForTesting(mPersistedTabDataJni);
}
@SmallTest

@ -25,7 +25,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridge;
@ -48,8 +47,6 @@ import java.util.concurrent.Semaphore;
public class ShoppingPersistedTabDataDeferredStartupTest {
@Rule public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule();
@Rule public JniMocker mMocker = new JniMocker();
@Mock protected OptimizationGuideBridgeFactory.Natives mOptimizationGuideBridgeFactoryJniMock;
@Mock protected OptimizationGuideBridge mOptimizationGuideBridgeMock;
@ -62,8 +59,7 @@ public class ShoppingPersistedTabDataDeferredStartupTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mMocker.mock(
OptimizationGuideBridgeFactoryJni.TEST_HOOKS,
OptimizationGuideBridgeFactoryJni.setInstanceForTesting(
mOptimizationGuideBridgeFactoryJniMock);
doReturn(mOptimizationGuideBridgeMock)
.when(mOptimizationGuideBridgeFactoryJniMock)

@ -28,7 +28,6 @@ import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridge;
@ -54,8 +53,6 @@ import java.util.concurrent.TimeoutException;
public class ShoppingPersistedTabDataServiceTest {
@Rule public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule();
@Rule public JniMocker mMocker = new JniMocker();
@Mock protected OptimizationGuideBridgeFactory.Natives mOptimizationGuideBridgeFactoryJniMock;
@Mock protected OptimizationGuideBridge mOptimizationGuideBridgeMock;
@ -70,8 +67,7 @@ public class ShoppingPersistedTabDataServiceTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mMocker.mock(
OptimizationGuideBridgeFactoryJni.TEST_HOOKS,
OptimizationGuideBridgeFactoryJni.setInstanceForTesting(
mOptimizationGuideBridgeFactoryJniMock);
doReturn(mOptimizationGuideBridgeMock)
.when(mOptimizationGuideBridgeFactoryJniMock)

@ -29,7 +29,6 @@ import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridge;
@ -59,8 +58,6 @@ import java.util.concurrent.TimeoutException;
public class ShoppingPersistedTabDataTest {
@Rule public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule();
@Rule public JniMocker mMocker = new JniMocker();
@Mock protected OptimizationGuideBridgeFactory.Natives mOptimizationGuideBridgeFactoryJniMock;
@Mock protected OptimizationGuideBridge mOptimizationGuideBridgeMock;
@ -76,8 +73,7 @@ public class ShoppingPersistedTabDataTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mMocker.mock(
OptimizationGuideBridgeFactoryJni.TEST_HOOKS,
OptimizationGuideBridgeFactoryJni.setInstanceForTesting(
mOptimizationGuideBridgeFactoryJniMock);
doReturn(mOptimizationGuideBridgeMock)
.when(mOptimizationGuideBridgeFactoryJniMock)

@ -26,7 +26,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@ -51,7 +50,6 @@ public class TabbedRootUiCoordinatorTest {
@Rule
public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
@Rule public JniMocker mocker = new JniMocker();
@Rule public MockitoRule mockito = MockitoJUnit.rule();
private TabbedRootUiCoordinator mTabbedRootUiCoordinator;
@ -61,7 +59,7 @@ public class TabbedRootUiCoordinatorTest {
@Before
public void setUp() {
mocker.mock(PrivacySandboxBridgeJni.TEST_HOOKS, mPrivacySandboxBridgeJni);
PrivacySandboxBridgeJni.setInstanceForTesting(mPrivacySandboxBridgeJni);
ThreadUtils.runOnUiThreadBlocking(
() -> {

@ -17,7 +17,6 @@ import androidx.test.filters.SmallTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -30,7 +29,6 @@ import org.chromium.base.UserDataHost;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.omnibox.ChromeAutocompleteSchemeClassifier;
import org.chromium.chrome.browser.omnibox.ChromeAutocompleteSchemeClassifierJni;
@ -68,8 +66,6 @@ public final class ToolbarSecurityIconTest {
ConnectionSecurityLevel.SECURE
};
@Rule public JniMocker mocker = new JniMocker();
@Mock private Tab mTab;
@Mock SecurityStateModel.Natives mSecurityStateMocks;
@ -89,12 +85,10 @@ public final class ToolbarSecurityIconTest {
MockitoAnnotations.initMocks(this);
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
mocker.mock(SecurityStateModelJni.TEST_HOOKS, mSecurityStateMocks);
mocker.mock(
ChromeAutocompleteSchemeClassifierJni.TEST_HOOKS,
SecurityStateModelJni.setInstanceForTesting(mSecurityStateMocks);
ChromeAutocompleteSchemeClassifierJni.setInstanceForTesting(
mChromeAutocompleteSchemeClassifierJni);
mocker.mock(
org.chromium.chrome.browser.toolbar.LocationBarModelJni.TEST_HOOKS,
org.chromium.chrome.browser.toolbar.LocationBarModelJni.setInstanceForTesting(
mLocationBarModelJni);
GURL exampleUrl = JUnitTestGURLs.EXAMPLE_URL;

@ -31,7 +31,6 @@ import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.base.test.util.Restriction;
import org.chromium.chrome.browser.ChromeTabbedActivity;
@ -87,8 +86,6 @@ public class TabSuspensionTest {
@Rule
public CustomTabActivityTestRule mCustomTabActivityTestRule = new CustomTabActivityTestRule();
@Rule public JniMocker jniMocker = new JniMocker();
@Mock private UsageStatsBridge.Natives mUsageStatsNativeMock;
@Mock private UsageStatsBridge mUsageStatsBridge;
@Mock private SuspensionTracker mSuspensionTracker;
@ -107,7 +104,7 @@ public class TabSuspensionTest {
public void setUp() throws InterruptedException {
MockitoAnnotations.initMocks(this);
SafeBrowsingApiBridge.setSafeBrowsingApiHandler(new MockSafeBrowsingApiHandler());
jniMocker.mock(UsageStatsBridgeJni.TEST_HOOKS, mUsageStatsNativeMock);
UsageStatsBridgeJni.setInstanceForTesting(mUsageStatsNativeMock);
doReturn(123456L).when(mUsageStatsNativeMock).init(any(), any());
// TokenTracker and EventTracker hold a promise, and Promises can only be used on a single
// thread, so we have to initialize them on the thread where they will be used.

@ -51,7 +51,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.Restriction;
import org.chromium.blink.mojom.AuthenticatorAttachment;
import org.chromium.blink.mojom.AuthenticatorStatus;
@ -130,8 +129,6 @@ public class Fido2CredentialRequestTest {
public final BlankCTATabInitialStateRule mInitialStateRule =
new BlankCTATabInitialStateRule(sActivityTestRule, false);
@Rule public JniMocker mMocker = new JniMocker();
@Mock ClientDataJsonImpl.Natives mClientDataJsonImplMock;
@Mock UkmRecorder.Natives mUkmRecorderJniMock;
@ -506,8 +503,8 @@ public class Fido2CredentialRequestTest {
MockitoAnnotations.initMocks(this);
mTestAuthenticatorImplJni = new TestAuthenticatorImplJni(mCallback);
mMocker.mock(InternalAuthenticatorJni.TEST_HOOKS, mTestAuthenticatorImplJni);
mMocker.mock(UkmRecorderJni.TEST_HOOKS, mUkmRecorderJniMock);
InternalAuthenticatorJni.setInstanceForTesting(mTestAuthenticatorImplJni);
UkmRecorderJni.setInstanceForTesting(mUkmRecorderJniMock);
mCreationOptions = Fido2ApiTestHelper.createDefaultMakeCredentialOptions();
mRequestOptions = Fido2ApiTestHelper.createDefaultGetAssertionOptions();
@ -1787,7 +1784,7 @@ public class Fido2CredentialRequestTest {
Fido2ApiTestHelper.createSuccessfulGetAssertionIntentWithUvm());
String clientDataJson = "520";
Fido2ApiTestHelper.mockClientDataJson(mMocker, clientDataJson);
Fido2ApiTestHelper.mockClientDataJson(clientDataJson);
mFrameHost.setLastCommittedUrl(new GURL("https://www.chromium.org/pay"));
@ -1817,7 +1814,7 @@ public class Fido2CredentialRequestTest {
mIntentSender.setNextResultIntent(
Fido2ApiTestHelper.createSuccessfulGetAssertionIntentWithUvm());
Fido2ApiTestHelper.mockClientDataJson(mMocker, null);
Fido2ApiTestHelper.mockClientDataJson(null);
mFrameHost.setLastCommittedUrl(new GURL("https://www.chromium.org/pay"));
@ -1849,7 +1846,7 @@ public class Fido2CredentialRequestTest {
// ClientDataJsonImplJni is mocked directly instead of using
// Fido2ApiTestHelper.mockClientDataJson so that it can be used to verify the call arguments
// below.
mMocker.mock(ClientDataJsonImplJni.TEST_HOOKS, mClientDataJsonImplMock);
ClientDataJsonImplJni.setInstanceForTesting(mClientDataJsonImplMock);
PaymentOptions payment = Fido2ApiTestHelper.createPaymentOptions();
mRequestOptions.challenge = new byte[3];
@ -2517,7 +2514,7 @@ public class Fido2CredentialRequestTest {
Fido2ApiTestHelper.createSuccessfulGetAssertionIntentWithUvm());
String clientDataJson = "520";
Fido2ApiTestHelper.mockClientDataJson(mMocker, clientDataJson);
Fido2ApiTestHelper.mockClientDataJson(clientDataJson);
mFrameHost.setLastCommittedUrl(new GURL("https://www.example.com"));
@ -2547,7 +2544,7 @@ public class Fido2CredentialRequestTest {
Fido2ApiTestHelper.createSuccessfulMakeCredentialIntent());
String clientDataJson = "520";
Fido2ApiTestHelper.mockClientDataJson(mMocker, clientDataJson);
Fido2ApiTestHelper.mockClientDataJson(clientDataJson);
mFrameHost.setLastCommittedUrl(new GURL("https://www.example.com"));

@ -10,7 +10,6 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.doReturn;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -18,19 +17,17 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
/** Unit tests for {@link AboutSettingsBridge}. */
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class AboutSettingsBridgeTest {
@Rule public JniMocker mocker = new JniMocker();
@Mock private AboutSettingsBridge.Natives mNativeMock;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mocker.mock(AboutSettingsBridgeJni.TEST_HOOKS, mNativeMock);
AboutSettingsBridgeJni.setInstanceForTesting(mNativeMock);
}
@Test

@ -39,7 +39,6 @@ import org.hamcrest.Matchers;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -58,7 +57,6 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.build.BuildConfig;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
@ -133,8 +131,6 @@ import java.util.Optional;
@LooperMode(LooperMode.Mode.LEGACY)
public class AppMenuPropertiesDelegateUnitTest {
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private ActivityTabProvider mActivityTabProvider;
@Mock private Tab mTab;
@Mock private WebContents mWebContents;
@ -216,25 +212,25 @@ public class AppMenuPropertiesDelegateUnitTest {
mMenuUiState = new MenuUiState();
doReturn(mMenuUiState).when(mUpdateMenuItemHelper).getUiState();
mJniMocker.mock(UserPrefsJni.TEST_HOOKS, mUserPrefsJniMock);
mJniMocker.mock(WebsitePreferenceBridgeJni.TEST_HOOKS, mWebsitePreferenceBridgeJniMock);
UserPrefsJni.setInstanceForTesting(mUserPrefsJniMock);
WebsitePreferenceBridgeJni.setInstanceForTesting(mWebsitePreferenceBridgeJniMock);
Mockito.when(mUserPrefsJniMock.get(mProfile)).thenReturn(mPrefService);
PowerBookmarkUtils.setPriceTrackingEligibleForTesting(false);
WebappRegistry.refreshSharedPrefsForTesting();
mJniMocker.mock(ManagedBrowserUtilsJni.TEST_HOOKS, mManagedBrowserUtilsJniMock);
ManagedBrowserUtilsJni.setInstanceForTesting(mManagedBrowserUtilsJniMock);
Mockito.when(mManagedBrowserUtilsJniMock.isBrowserManaged(mProfile)).thenReturn(false);
Mockito.when(mManagedBrowserUtilsJniMock.getTitle(mProfile)).thenReturn("title");
mJniMocker.mock(AppBannerManagerJni.TEST_HOOKS, mAppBannerManagerJniMock);
AppBannerManagerJni.setInstanceForTesting(mAppBannerManagerJniMock);
Mockito.when(mAppBannerManagerJniMock.getInstallableWebAppManifestId(any()))
.thenReturn(null);
mJniMocker.mock(TranslateBridgeJni.TEST_HOOKS, mTranslateBridgeJniMock);
TranslateBridgeJni.setInstanceForTesting(mTranslateBridgeJniMock);
Mockito.when(mTranslateBridgeJniMock.canManuallyTranslate(any(), anyBoolean()))
.thenReturn(false);
mJniMocker.mock(IncognitoUtilsJni.TEST_HOOKS, mIncognitoUtilsJniMock);
IncognitoUtilsJni.setInstanceForTesting(mIncognitoUtilsJniMock);
mBookmarkModelSupplier.set(mBookmarkModel);
PowerBookmarkUtils.setPriceTrackingEligibleForTesting(false);
@ -253,8 +249,8 @@ public class AppMenuPropertiesDelegateUnitTest {
mIncognitoReauthControllerSupplier,
mReadAloudControllerSupplier));
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
mJniMocker.mock(ShoppingServiceFactoryJni.TEST_HOOKS, mShoppingServiceFactoryJniMock);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
ShoppingServiceFactoryJni.setInstanceForTesting(mShoppingServiceFactoryJniMock);
doReturn(mShoppingService).when(mShoppingServiceFactoryJniMock).getForProfile(any());
BuildConfig.IS_DESKTOP_ANDROID = false;
ResettersForTesting.register(() -> BuildConfig.IS_DESKTOP_ANDROID = false);

@ -18,7 +18,6 @@ import androidx.test.filters.SmallTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@ -33,7 +32,6 @@ import org.chromium.base.task.PostTask;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.crypto.CipherFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@ -82,7 +80,6 @@ import java.util.concurrent.atomic.AtomicInteger;
ChromeFeatureList.ANDROID_TAB_DECLUTTER_RESCUE_KILLSWITCH
})
public class TabPersistentStoreIntegrationTest {
@Rule public JniMocker jniMocker = new JniMocker();
private static final int TAB_ID = 42;
private static final WebContentsState WEB_CONTENTS_STATE =
@ -145,10 +142,10 @@ public class TabPersistentStoreIntegrationTest {
mTabModelSelector = mOrchestrator.getTabModelSelector();
mTabPersistentStore = mOrchestrator.getTabPersistentStore();
jniMocker.mock(TabModelJniBridgeJni.TEST_HOOKS, mTabModelJniBridgeJni);
jniMocker.mock(RecentlyClosedBridgeJni.TEST_HOOKS, mRecentlyClosedBridgeJni);
jniMocker.mock(PersistedTabDataJni.TEST_HOOKS, mPersistedTabDataJni);
TabTestUtils.mockTabJni(jniMocker);
TabModelJniBridgeJni.setInstanceForTesting(mTabModelJniBridgeJni);
RecentlyClosedBridgeJni.setInstanceForTesting(mRecentlyClosedBridgeJni);
PersistedTabDataJni.setInstanceForTesting(mPersistedTabDataJni);
TabTestUtils.mockTabJni();
mOrchestrator.onNativeLibraryReady(mTabContentManager);
}

@ -29,7 +29,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
@ -45,8 +44,6 @@ import org.chromium.ui.base.TestActivity;
@EnableFeatures(ChromeFeatureList.PLUS_ADDRESS_ANDROID_OPEN_GMS_CORE_MANAGEMENT_PAGE)
public class PlusAddressesHelperTest {
private static final String PLUS_ADDRESS_MANAGEMENT_URL = "https://manage.plus.addresses.com";
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock private Profile mProfile;
@ -58,7 +55,7 @@ public class PlusAddressesHelperTest {
@Before
public void setUp() {
mJniMocker.mock(PlusAddressesHelperJni.TEST_HOOKS, mPlusAddressesHelperJni);
PlusAddressesHelperJni.setInstanceForTesting(mPlusAddressesHelperJni);
when(mPlusAddressesHelperJni.getPlusAddressManagementUrl())
.thenReturn(PLUS_ADDRESS_MANAGEMENT_URL);

@ -34,7 +34,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.autofill.editors.AddressEditorCoordinator;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
@ -55,7 +54,6 @@ public class SaveUpdateAddressProfilePromptTest {
private static final long NATIVE_SAVE_UPDATE_ADDRESS_PROFILE_PROMPT_CONTROLLER = 100L;
private static final boolean NO_MIGRATION = false;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private SaveUpdateAddressProfilePromptController.Natives mPromptControllerJni;
@Mock private AutofillProfileBridge.Natives mAutofillProfileBridgeJni;
@ -86,9 +84,8 @@ public class SaveUpdateAddressProfilePromptTest {
mPromptController =
SaveUpdateAddressProfilePromptController.create(
NATIVE_SAVE_UPDATE_ADDRESS_PROFILE_PROMPT_CONTROLLER);
mJniMocker.mock(
SaveUpdateAddressProfilePromptControllerJni.TEST_HOOKS, mPromptControllerJni);
mJniMocker.mock(AutofillProfileBridgeJni.TEST_HOOKS, mAutofillProfileBridgeJni);
SaveUpdateAddressProfilePromptControllerJni.setInstanceForTesting(mPromptControllerJni);
AutofillProfileBridgeJni.setInstanceForTesting(mAutofillProfileBridgeJni);
}
private void createAndShowPrompt(boolean isUpdate) {

@ -25,7 +25,6 @@ import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.layouts.LayoutManagerAppUtils;
import org.chromium.chrome.browser.layouts.ManagedLayoutManager;
@ -58,7 +57,6 @@ public final class AutofillSaveIbanBottomSheetBridgeTest {
.build();
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private AutofillSaveIbanBottomSheetBridge.Natives mBridgeNatives;
@Mock private ManagedBottomSheetController mBottomSheetController;
@ -70,7 +68,7 @@ public final class AutofillSaveIbanBottomSheetBridgeTest {
@Before
public void setUp() {
mJniMocker.mock(AutofillSaveIbanBottomSheetBridgeJni.TEST_HOOKS, mBridgeNatives);
AutofillSaveIbanBottomSheetBridgeJni.setInstanceForTesting(mBridgeNatives);
Activity activity = Robolectric.buildActivity(Activity.class).create().get();
// set a MaterialComponents theme which is required for the `OutlinedBox` text field.
activity.setTheme(R.style.Theme_BrowserUI_DayNight);

@ -25,7 +25,6 @@ import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.layouts.LayoutManagerAppUtils;
import org.chromium.chrome.browser.layouts.ManagedLayoutManager;
import org.chromium.chrome.browser.profiles.Profile;
@ -45,7 +44,6 @@ import java.util.Collections;
public final class AutofillSaveCardBottomSheetBridgeTest {
private static final long NATIVE_AUTOFILL_SAVE_CARD_BOTTOM_SHEET_BRIDGE = 0xb00fb00fL;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private AutofillSaveCardBottomSheetBridge.Natives mBridgeNatives;
private WindowAndroid mWindow;
@Mock private ManagedBottomSheetController mBottomSheetController;
@ -55,7 +53,7 @@ public final class AutofillSaveCardBottomSheetBridgeTest {
@Before
public void setUp() {
mJniMocker.mock(AutofillSaveCardBottomSheetBridgeJni.TEST_HOOKS, mBridgeNatives);
AutofillSaveCardBottomSheetBridgeJni.setInstanceForTesting(mBridgeNatives);
Activity activity = Robolectric.buildActivity(Activity.class).create().get();
mWindow = new WindowAndroid(activity, /* trackOcclusion= */ false);
BottomSheetControllerFactory.attach(mWindow, mBottomSheetController);

@ -41,7 +41,6 @@ import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.autofill.AutofillUiUtils.CardIconSpecs;
import org.chromium.chrome.browser.autofill.PersonalDataManager;
@ -78,7 +77,6 @@ public final class AutofillVcnEnrollBottomSheetBridgeTest {
private static final long NATIVE_AUTOFILL_VCN_ENROLL_BOTTOM_SHEET_BRIDGE = 0xa1fabe7a;
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private AutofillVcnEnrollBottomSheetBridge.Natives mBridgeNatives;
@Mock private Profile.Natives mProfileNatives;
@ -99,9 +97,9 @@ public final class AutofillVcnEnrollBottomSheetBridgeTest {
@Before
public void setUp() {
PersonalDataManagerFactory.setInstanceForTesting(mPersonalDataManager);
mJniMocker.mock(ProfileJni.TEST_HOOKS, mProfileNatives);
ProfileJni.setInstanceForTesting(mProfileNatives);
when(mProfileNatives.fromWebContents(any())).thenReturn(mProfile);
mJniMocker.mock(AutofillVcnEnrollBottomSheetBridgeJni.TEST_HOOKS, mBridgeNatives);
AutofillVcnEnrollBottomSheetBridgeJni.setInstanceForTesting(mBridgeNatives);
Activity activity = Robolectric.buildActivity(Activity.class).create().get();
mShadowActivity = shadowOf(activity);
mWindow = new WindowAndroid(activity, /* trackOcclusion= */ false);

@ -16,7 +16,6 @@ import android.content.Context;
import android.os.PersistableBundle;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@ -31,7 +30,6 @@ import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.device.ShadowDeviceConditions;
import org.chromium.components.background_task_scheduler.BackgroundTask;
import org.chromium.components.background_task_scheduler.BackgroundTaskScheduler;
@ -50,8 +48,6 @@ import org.chromium.net.ConnectionType;
@CommandLineFlags.Add({BaseSwitches.ENABLE_LOW_END_DEVICE_MODE})
public class BackgroundSyncBackgroundTaskTest {
@Rule public JniMocker mocker = new JniMocker();
private PersistableBundle mTaskExtras;
private long mTaskTime;
@ -74,7 +70,7 @@ public class BackgroundSyncBackgroundTaskTest {
ShadowDeviceConditions.setCurrentNetworkConnectionType(ConnectionType.CONNECTION_NONE);
mocker.mock(BackgroundSyncBackgroundTaskJni.TEST_HOOKS, mNativeMock);
BackgroundSyncBackgroundTaskJni.setInstanceForTesting(mNativeMock);
}
@Test

@ -16,7 +16,6 @@ import android.content.Context;
import android.os.PersistableBundle;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@ -31,7 +30,6 @@ import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.device.ShadowDeviceConditions;
import org.chromium.components.background_task_scheduler.BackgroundTask;
import org.chromium.components.background_task_scheduler.BackgroundTaskScheduler;
@ -49,7 +47,6 @@ import org.chromium.net.ConnectionType;
shadows = {ShadowDeviceConditions.class})
@CommandLineFlags.Add({BaseSwitches.ENABLE_LOW_END_DEVICE_MODE})
public class PeriodicBackgroundSyncChromeWakeUpTaskTest {
@Rule public JniMocker mocker = new JniMocker();
private PersistableBundle mTaskExtras;
private long mTaskTime;
@ -73,7 +70,7 @@ public class PeriodicBackgroundSyncChromeWakeUpTaskTest {
ShadowDeviceConditions.setCurrentNetworkConnectionType(ConnectionType.CONNECTION_NONE);
mocker.mock(PeriodicBackgroundSyncChromeWakeUpTaskJni.TEST_HOOKS, mNativeMock);
PeriodicBackgroundSyncChromeWakeUpTaskJni.setInstanceForTesting(mNativeMock);
}
@Test

@ -21,7 +21,6 @@ import android.content.Context;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@ -39,7 +38,6 @@ import org.chromium.base.library_loader.LoaderErrors;
import org.chromium.base.library_loader.ProcessInitException;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.init.BrowserParts;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.components.background_task_scheduler.BackgroundTask;
@ -129,8 +127,6 @@ public class NativeBackgroundTaskTest {
private TestBrowserStartupController mBrowserStartupController;
private TaskFinishedCallback mCallback;
private TestNativeBackgroundTask mTask;
@Rule public final JniMocker mocker = new JniMocker();
@Mock private ChromeBrowserInitializer mChromeBrowserInitializer;
@Captor ArgumentCaptor<BrowserParts> mBrowserParts;

@ -60,7 +60,6 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.init.AsyncInitTaskRunner;
@ -123,8 +122,6 @@ public class ChromeBackupAgentTest {
}
}
@Rule public JniMocker mocker = new JniMocker();
@Rule
public final AccountManagerTestRule mAccountManagerTestRule = new AccountManagerTestRule();
@ -207,10 +204,10 @@ public class ChromeBackupAgentTest {
MockitoAnnotations.initMocks(this);
ProfileManager.setLastUsedProfileForTesting(mProfile);
mocker.mock(ChromeBackupAgentImplJni.TEST_HOOKS, mChromeBackupAgentJniMock);
mocker.mock(DictPrefBackupSerializerJni.TEST_HOOKS, mDictPrefBackupSerializerJniMock);
ChromeBackupAgentImplJni.setInstanceForTesting(mChromeBackupAgentJniMock);
DictPrefBackupSerializerJni.setInstanceForTesting(mDictPrefBackupSerializerJniMock);
mocker.mock(UserPrefsJni.TEST_HOOKS, mUserPrefsJniMock);
UserPrefsJni.setInstanceForTesting(mUserPrefsJniMock);
when(mUserPrefsJniMock.get(mProfile)).thenReturn(mPrefService);
IdentityServicesProvider identityServicesProvider = mock(IdentityServicesProvider.class);

@ -39,7 +39,6 @@ import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkListEntry.ViewType;
import org.chromium.chrome.browser.bookmarks.BookmarkUiPrefs.BookmarkRowDisplayPref;
@ -75,8 +74,6 @@ public class BookmarkFolderPickerMediatorUnitTest {
public final ActivityScenarioRule<TestActivity> mActivityScenarioRule =
new ActivityScenarioRule<>(TestActivity.class);
@Rule public JniMocker mJniMocker = new JniMocker();
// Initial structure:
// Root
// Mobile
@ -254,7 +251,7 @@ public class BookmarkFolderPickerMediatorUnitTest {
public void setUp() throws Exception {
mActivityScenarioRule.getScenario().onActivity((activity) -> mActivity = activity);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
// Setup profile-related factories.
TrackerFactory.setTrackerForTests(mTracker);

@ -27,7 +27,6 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Features;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.commerce.ShoppingServiceFactory;
import org.chromium.chrome.browser.device_reauth.ReauthenticatorBridge;
@ -67,7 +66,6 @@ import org.chromium.ui.base.TestActivity;
@Features.DisableFeatures(ChromeFeatureList.UNO_PHASE_2_FOLLOW_UP)
public class BookmarkManagerCoordinatorTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule
public ActivityScenarioRule<TestActivity> mActivityScenarioRule =
@ -94,9 +92,9 @@ public class BookmarkManagerCoordinatorTest {
@Before
public void setUp() {
// Setup JNI mocks.
mJniMocker.mock(FaviconHelperJni.TEST_HOOKS, mFaviconHelperJni);
mJniMocker.mock(ImageServiceBridgeJni.TEST_HOOKS, mImageServiceBridgeJni);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
FaviconHelperJni.setInstanceForTesting(mFaviconHelperJni);
ImageServiceBridgeJni.setInstanceForTesting(mImageServiceBridgeJni);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
// Setup service mocks.
doReturn(mProfile).when(mProfile).getOriginalProfile();

@ -65,7 +65,6 @@ import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkListEntry.ViewType;
import org.chromium.chrome.browser.bookmarks.BookmarkMetrics.BookmarkManagerFilter;
@ -158,7 +157,6 @@ public class BookmarkManagerMediatorTest {
new ActivityScenarioRule<>(TestActivity.class);
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule().strictness(Strictness.LENIENT);
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private BookmarkModel mBookmarkModel;
@Mock private BookmarkOpener mBookmarkOpener;
@ -352,9 +350,9 @@ public class BookmarkManagerMediatorTest {
mActivity = spy(activity);
// Setup CurrencyFormatter.
mJniMocker.mock(CurrencyFormatterJni.TEST_HOOKS, mCurrencyFormatterJniMock);
mJniMocker.mock(ShoppingServiceFactoryJni.TEST_HOOKS, mShoppingServiceFactoryJniMock);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
CurrencyFormatterJni.setInstanceForTesting(mCurrencyFormatterJniMock);
ShoppingServiceFactoryJni.setInstanceForTesting(mShoppingServiceFactoryJniMock);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
// Setup ShoppingServiceFactory
doReturn(mShoppingService).when(mShoppingServiceFactoryJniMock).getForProfile(any());
@ -454,7 +452,7 @@ public class BookmarkManagerMediatorTest {
// Setup price tracking utils.
doReturn(true).when(mCommerceFeatureUtilsJniMock).isShoppingListEligible(anyLong());
mJniMocker.mock(PriceTrackingUtilsJni.TEST_HOOKS, mPriceTrackingUtilsJniMock);
PriceTrackingUtilsJni.setInstanceForTesting(mPriceTrackingUtilsJniMock);
doCallback(3, (Callback<Boolean> callback) -> callback.onResult(true))
.when(mPriceTrackingUtilsJniMock)
.setPriceTrackingStateForBookmark(

@ -24,7 +24,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.ContextUtils;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.commerce.PriceTrackingUtils;
import org.chromium.chrome.browser.commerce.PriceTrackingUtilsJni;
@ -55,7 +54,6 @@ import org.chromium.url.GURL;
shadows = {ShadowAppCompatResources.class})
public class BookmarkSaveFlowMediatorUnitTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
private BookmarkSaveFlowMediator mMediator;
private PropertyModel mPropertyModel =
@ -80,7 +78,7 @@ public class BookmarkSaveFlowMediatorUnitTest {
ContextUtils.getApplicationContext(), R.style.Theme_BrowserUI_DayNight);
MockitoAnnotations.initMocks(this);
mJniMocker.mock(PriceTrackingUtilsJni.TEST_HOOKS, mMockPriceTrackingUtilsJni);
PriceTrackingUtilsJni.setInstanceForTesting(mMockPriceTrackingUtilsJni);
PriceDropNotificationManagerFactory.setInstanceForTesting(mMockNotificationManager);
mMediator =
new BookmarkSaveFlowMediator(

@ -30,7 +30,6 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.commerce.ShoppingServiceFactory;
import org.chromium.chrome.browser.commerce.ShoppingServiceFactoryJni;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
@ -63,7 +62,6 @@ import org.chromium.url.GURL;
@EnableFeatures(SyncFeatureMap.SYNC_ENABLE_BOOKMARKS_IN_TRANSPORT_MODE)
public class BookmarkUtilsTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Rule
public ActivityScenarioRule<TestActivity> mActivityScenarioRule =
@ -96,10 +94,10 @@ public class BookmarkUtilsTest {
ShoppingServiceFactory.setShoppingServiceForTesting(mShoppingService);
IdentityServicesProvider.setInstanceForTests(mIdentityServicesProvider);
mJniMocker.mock(FaviconHelperJni.TEST_HOOKS, mFaviconHelperJni);
mJniMocker.mock(ImageServiceBridgeJni.TEST_HOOKS, mImageServiceBridgeJni);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
mJniMocker.mock(ShoppingServiceFactoryJni.TEST_HOOKS, mShoppingServiceFactoryJniMock);
FaviconHelperJni.setInstanceForTesting(mFaviconHelperJni);
ImageServiceBridgeJni.setInstanceForTesting(mImageServiceBridgeJni);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
ShoppingServiceFactoryJni.setInstanceForTesting(mShoppingServiceFactoryJniMock);
doReturn(mShoppingService).when(mShoppingServiceFactoryJniMock).getForProfile(any());
doReturn(mIdentityManager).when(mIdentityServicesProvider).getIdentityManager(any());
doReturn(mAccountInfo).when(mIdentityManager).getPrimaryAccountInfo(anyInt());

@ -21,8 +21,8 @@ import java.util.stream.Collectors;
/**
* Fake {@link BookmarkModel} for use in tests. Instead of faking the BookmarkModel implementation
* instead the BookmarkBridge.Natives interface is faked and substituted through TEST_HOOKS. This
* allows the production BookmarkModel/Bridge to be used as-is.
* instead the BookmarkBridge.Natives interface is faked and substituted. This allows the production
* BookmarkModel/Bridge to be used as-is.
*/
public class FakeBookmarkModel extends BookmarkModel {
public static final String OTHER_FOLDER_TITLE = "Other bookmarks";
@ -34,8 +34,7 @@ public class FakeBookmarkModel extends BookmarkModel {
// Factory constructor for the FakeBoomkarkModel
public static FakeBookmarkModel createModel() {
// Temporary Jni mock.
BookmarkBridgeJni.TEST_HOOKS.setInstanceForTesting(
Mockito.mock(BookmarkBridge.Natives.class));
BookmarkBridgeJni.setInstanceForTesting(Mockito.mock(BookmarkBridge.Natives.class));
FakeBookmarkModel fakeBookmarkModel = new FakeBookmarkModel();
return fakeBookmarkModel;
}
@ -64,7 +63,7 @@ public class FakeBookmarkModel extends BookmarkModel {
// The native bookmark bridge pointer will be ignored because the JNI is mocked by
// BookmarkBridgeNatives.
super(/* nativeBookmarkBridge= */ 1);
BookmarkBridgeJni.TEST_HOOKS.setInstanceForTesting(new BookmarkBridgeNatives());
BookmarkBridgeJni.setInstanceForTesting(new BookmarkBridgeNatives());
setupTopLevelFolders();
bookmarkModelLoaded();
}

@ -42,7 +42,6 @@ import org.robolectric.annotation.Config;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.bookmarks.BookmarkUiPrefs.BookmarkRowSortOrder;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.profiles.Profile;
@ -66,7 +65,6 @@ import java.util.List;
@Config(manifest = Config.NONE)
public class ImprovedBookmarkQueryHandlerTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private BookmarkModel mBookmarkModel;
@Mock private Tracker mTracker;
@ -83,7 +81,7 @@ public class ImprovedBookmarkQueryHandlerTest {
TrackerFactory.setTrackerForTests(mTracker);
SharedBookmarkModelMocks.initMocks(mBookmarkModel);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
mHandler =
new ImprovedBookmarkQueryHandler(

@ -42,7 +42,6 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Features.DisableFeatures;
import org.chromium.base.test.util.Features.EnableFeatures;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.browser.bookmarks.BookmarkUiPrefs.BookmarkRowDisplayPref;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
@ -73,7 +72,6 @@ public class ImprovedBookmarkRowCoordinatorTest {
new ActivityScenarioRule<>(TestActivity.class);
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public JniMocker mJniMocker = new JniMocker();
@Mock private BookmarkImageFetcher mBookmarkImageFetcher;
@Mock private BookmarkModel mBookmarkModel;
@ -111,9 +109,9 @@ public class ImprovedBookmarkRowCoordinatorTest {
.fetchFaviconForBookmark(any(), any());
// Setup CurrencyFormatter.
mJniMocker.mock(CurrencyFormatterJni.TEST_HOOKS, mCurrencyFormatterJniMock);
CurrencyFormatterJni.setInstanceForTesting(mCurrencyFormatterJniMock);
mJniMocker.mock(CommerceFeatureUtilsJni.TEST_HOOKS, mCommerceFeatureUtilsJniMock);
CommerceFeatureUtilsJni.setInstanceForTesting(mCommerceFeatureUtilsJniMock);
mCoordinator =
new ImprovedBookmarkRowCoordinator(

Some files were not shown because too many files have changed in this diff Show More