Commit c3907c3e authored by Michael Thiessen's avatar Michael Thiessen Committed by Commit Bot

Migrate remaining chrome/android native_java_unittest to javatests

native_java_unittests are going away, so these tests need to be migrated
to javatests.

Bug: 1103344
Change-Id: I49a99d1cc1e3170d4af01af8e1a75e9b09249fc5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2353391
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799264}
parent f206b2cc
...@@ -948,7 +948,6 @@ android_library("chrome_test_java") { ...@@ -948,7 +948,6 @@ android_library("chrome_test_java") {
":browser_java_test_support", ":browser_java_test_support",
":chrome_app_java_resources", ":chrome_app_java_resources",
":chrome_test_util_java", ":chrome_test_util_java",
":native_java_unittests_java",
":partner_location_descriptor_proto_java", ":partner_location_descriptor_proto_java",
"$google_play_services_package:google_play_services_base_java", "$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java", "$google_play_services_package:google_play_services_basement_java",
...@@ -974,6 +973,7 @@ android_library("chrome_test_java") { ...@@ -974,6 +973,7 @@ android_library("chrome_test_java") {
"//chrome/browser/android/crypto:java", "//chrome/browser/android/crypto:java",
"//chrome/browser/android/lifecycle:java", "//chrome/browser/android/lifecycle:java",
"//chrome/browser/browser_controls/android:java", "//chrome/browser/browser_controls/android:java",
"//chrome/browser/contextmenu:java",
"//chrome/browser/download/android:java", "//chrome/browser/download/android:java",
"//chrome/browser/engagement/android:java", "//chrome/browser/engagement/android:java",
"//chrome/browser/enterprise/util:java", "//chrome/browser/enterprise/util:java",
...@@ -1049,6 +1049,7 @@ android_library("chrome_test_java") { ...@@ -1049,6 +1049,7 @@ android_library("chrome_test_java") {
"//components/download/public/common:public_java", "//components/download/public/common:public_java",
"//components/embedder_support/android:browser_context_java", "//components/embedder_support/android:browser_context_java",
"//components/embedder_support/android:content_view_java", "//components/embedder_support/android:content_view_java",
"//components/embedder_support/android:context_menu_java",
"//components/embedder_support/android:util_java", "//components/embedder_support/android:util_java",
"//components/embedder_support/android:web_contents_delegate_java", "//components/embedder_support/android:web_contents_delegate_java",
"//components/embedder_support/android:web_contents_delegate_javatests", "//components/embedder_support/android:web_contents_delegate_javatests",
...@@ -1086,6 +1087,7 @@ android_library("chrome_test_java") { ...@@ -1086,6 +1087,7 @@ android_library("chrome_test_java") {
"//components/schema_org/common:mojom_java", "//components/schema_org/common:mojom_java",
"//components/search_engines/android:java", "//components/search_engines/android:java",
"//components/security_interstitials/content/android:java", "//components/security_interstitials/content/android:java",
"//components/security_state/content/android:java",
"//components/security_state/core:security_state_enums_java", "//components/security_state/core:security_state_enums_java",
"//components/signin/core/browser:signin_enums_java", "//components/signin/core/browser:signin_enums_java",
"//components/signin/core/browser/android:java", "//components/signin/core/browser/android:java",
...@@ -3203,78 +3205,6 @@ generate_jni("chrome_jni_headers") { ...@@ -3203,78 +3205,6 @@ generate_jni("chrome_jni_headers") {
} }
} }
native_java_unittests_tests = [
"native_java_unittests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/installedapp/InstalledAppProviderTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizationsUnitTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderUnitTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppUnitTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/payments/PaymentManifestVerifierTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java",
"native_java_unittests/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java",
]
android_library("native_java_unittests_java") {
testonly = true
deps = [
":browser_java_test_support",
":chrome_app_java_resources",
":chrome_test_util_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
"//base/test:test_support_java",
"//chrome/android:chrome_java",
"//chrome/browser/contextmenu:java",
"//chrome/browser/flags:java",
"//chrome/browser/image_fetcher:java",
"//chrome/browser/preferences:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/tab:java",
"//chrome/browser/tabmodel:java",
"//chrome/browser/ui/android/favicon:java",
"//chrome/browser/util:java",
"//chrome/test/android:chrome_java_test_support",
"//components/embedder_support/android:context_menu_java",
"//components/embedder_support/android:util_java",
"//components/omnibox/browser:browser_java",
"//components/payments/content/android:java",
"//components/payments/mojom:mojom_java",
"//components/query_tiles:java",
"//components/search_engines/android:java",
"//components/security_state/content/android:java",
"//components/security_state/core:security_state_enums_java",
"//content/public/android:content_java",
"//content/public/test/android:android_test_message_pump_support_java",
"//content/public/test/android:content_java_test_support",
"//third_party/android_deps:androidx_collection_collection_java",
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/blink/public:blink_headers_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java",
"//third_party/hamcrest:hamcrest_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
"//ui/android:ui_java",
"//ui/android:ui_java_test_support",
"//url:gurl_java",
"//url:origin_java",
"//url/mojom:url_mojom_gurl_java",
]
sources = native_java_unittests_tests
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
# See https://bugs.chromium.org/p/chromium/issues/detail?id=908819 for why we
# can't put 'java' in the name here.
generate_jni("native_j_unittests_jni_headers") {
testonly = true
sources = native_java_unittests_tests
feature_list_file = "//chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java"
}
# Used by android-binary-size trybot to validate expectations. # Used by android-binary-size trybot to validate expectations.
if (_enable_libs_and_assets_verification || _enable_manifest_verification) { if (_enable_libs_and_assets_verification || _enable_manifest_verification) {
group("validate_expectations") { group("validate_expectations") {
......
...@@ -104,6 +104,7 @@ chrome_test_java_sources = [ ...@@ -104,6 +104,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java", "javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java",
"javatests/src/org/chromium/chrome/browser/contacts_picker/ContactDetailsTest.java", "javatests/src/org/chromium/chrome/browser/contacts_picker/ContactDetailsTest.java",
"javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java", "javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuTest.java", "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuHeaderViewTest.java", "javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuHeaderViewTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuItemViewTest.java", "javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuItemViewTest.java",
...@@ -244,6 +245,7 @@ chrome_test_java_sources = [ ...@@ -244,6 +245,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/init/StartupTabPreloaderTest.java", "javatests/src/org/chromium/chrome/browser/init/StartupTabPreloaderTest.java",
"javatests/src/org/chromium/chrome/browser/init/StartupTabPreloaderUnitTest.java", "javatests/src/org/chromium/chrome/browser/init/StartupTabPreloaderUnitTest.java",
"javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java", "javatests/src/org/chromium/chrome/browser/input/SelectPopupOtherContentViewTest.java",
"javatests/src/org/chromium/chrome/browser/installedapp/InstalledAppProviderTest.java",
"javatests/src/org/chromium/chrome/browser/instantapps/InstantAppsHandlerTest.java", "javatests/src/org/chromium/chrome/browser/instantapps/InstantAppsHandlerTest.java",
"javatests/src/org/chromium/chrome/browser/interstitials/LookalikeInterstitialTest.java", "javatests/src/org/chromium/chrome/browser/interstitials/LookalikeInterstitialTest.java",
"javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptAppModalDialogTest.java", "javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptAppModalDialogTest.java",
...@@ -274,6 +276,7 @@ chrome_test_java_sources = [ ...@@ -274,6 +276,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/notifications/NotificationBuilderBaseTest.java", "javatests/src/org/chromium/chrome/browser/notifications/NotificationBuilderBaseTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java", "javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeIntentTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeTest.java", "javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/NotificationTestRule.java", "javatests/src/org/chromium/chrome/browser/notifications/NotificationTestRule.java",
"javatests/src/org/chromium/chrome/browser/notifications/NotificationTestUtil.java", "javatests/src/org/chromium/chrome/browser/notifications/NotificationTestUtil.java",
"javatests/src/org/chromium/chrome/browser/notifications/NotificationWrapperBuilderFactoryTest.java", "javatests/src/org/chromium/chrome/browser/notifications/NotificationWrapperBuilderFactoryTest.java",
...@@ -343,6 +346,7 @@ chrome_test_java_sources = [ ...@@ -343,6 +346,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/paint_preview/services/PaintPreviewTabServiceTest.java", "javatests/src/org/chromium/chrome/browser/paint_preview/services/PaintPreviewTabServiceTest.java",
"javatests/src/org/chromium/chrome/browser/partnercustomizations/BasePartnerBrowserCustomizationIntegrationTestRule.java", "javatests/src/org/chromium/chrome/browser/partnercustomizations/BasePartnerBrowserCustomizationIntegrationTestRule.java",
"javatests/src/org/chromium/chrome/browser/partnercustomizations/BasePartnerBrowserCustomizationUnitTestRule.java", "javatests/src/org/chromium/chrome/browser/partnercustomizations/BasePartnerBrowserCustomizationUnitTestRule.java",
"javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizationsUnitTest.java",
"javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerDisableBookmarksEditingUnitTest.java", "javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerDisableBookmarksEditingUnitTest.java",
"javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerDisableIncognitoModeIntegrationTest.java", "javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerDisableIncognitoModeIntegrationTest.java",
"javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerDisableIncognitoModeUnitTest.java", "javatests/src/org/chromium/chrome/browser/partnercustomizations/PartnerDisableIncognitoModeUnitTest.java",
...@@ -354,6 +358,8 @@ chrome_test_java_sources = [ ...@@ -354,6 +358,8 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettingsTest.java", "javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettingsTest.java",
"javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordViewingTypeTest.java", "javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordViewingTypeTest.java",
"javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java", "javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java",
"javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderUnitTest.java",
"javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppUnitTest.java",
"javatests/src/org/chromium/chrome/browser/payments/CurrencyFormatterTest.java", "javatests/src/org/chromium/chrome/browser/payments/CurrencyFormatterTest.java",
"javatests/src/org/chromium/chrome/browser/payments/ExpandablePaymentHandlerChangePaymentMethodTest.java", "javatests/src/org/chromium/chrome/browser/payments/ExpandablePaymentHandlerChangePaymentMethodTest.java",
"javatests/src/org/chromium/chrome/browser/payments/ExpandablePaymentHandlerTest.java", "javatests/src/org/chromium/chrome/browser/payments/ExpandablePaymentHandlerTest.java",
...@@ -367,6 +373,7 @@ chrome_test_java_sources = [ ...@@ -367,6 +373,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/payments/PaymentHandlerEnableDelegationsTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentHandlerEnableDelegationsTest.java",
"javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentManifestDownloaderTest.java",
"javatests/src/org/chromium/chrome/browser/payments/PaymentManifestParserTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentManifestParserTest.java",
"javatests/src/org/chromium/chrome/browser/payments/PaymentManifestVerifierTest.java",
"javatests/src/org/chromium/chrome/browser/payments/PaymentRequestAbortTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestAbortTest.java",
"javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressTest.java",
"javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressWithoutPhoneTest.java", "javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBillingAddressWithoutPhoneTest.java",
...@@ -555,6 +562,7 @@ chrome_test_java_sources = [ ...@@ -555,6 +562,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabModelObserverTest.java", "javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabModelObserverTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java", "javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java", "javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java", "javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/TestTabModelDirectory.java", "javatests/src/org/chromium/chrome/browser/tabmodel/TestTabModelDirectory.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/UndoTabModelTest.java", "javatests/src/org/chromium/chrome/browser/tabmodel/UndoTabModelTest.java",
...@@ -565,6 +573,7 @@ chrome_test_java_sources = [ ...@@ -565,6 +573,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/toolbar/LocationBarModelTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/LocationBarModelTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarIntegrationTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarIntegrationTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/ToolbarTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/ToolbarTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarTest.java",
"javatests/src/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarWithStartSurfaceTest.java", "javatests/src/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarWithStartSurfaceTest.java",
......
...@@ -37,6 +37,7 @@ include_rules = [ ...@@ -37,6 +37,7 @@ include_rules = [
"+components/permissions/android/java/src/org/chromium/components/permissions", "+components/permissions/android/java/src/org/chromium/components/permissions",
"+components/safe_browsing/android/java/src/org/chromium/components/safe_browsing", "+components/safe_browsing/android/java/src/org/chromium/components/safe_browsing",
"+components/search_engines", "+components/search_engines",
"+components/security_state/content/android/java",
"+components/sync/android/java/src/org/chromium/components/sync", "+components/sync/android/java/src/org/chromium/components/sync",
"+components/sync/test/fake_server/android", "+components/sync/test/fake_server/android",
# We should only depend on the util package of something that lives in # We should only depend on the util package of something that lives in
......
...@@ -11,13 +11,19 @@ import static org.mockito.Mockito.when; ...@@ -11,13 +11,19 @@ import static org.mockito.Mockito.when;
import android.util.Pair; import android.util.Pair;
import androidx.test.filters.SmallTest;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.annotations.CalledByNativeJavaTest; import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Batch;
import org.chromium.blink_public.common.ContextMenuDataMediaType; import org.chromium.blink_public.common.ContextMenuDataMediaType;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.IntentHandler;
...@@ -28,6 +34,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; ...@@ -28,6 +34,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.components.embedder_support.contextmenu.ContextMenuParams; import org.chromium.components.embedder_support.contextmenu.ContextMenuParams;
import org.chromium.components.search_engines.TemplateUrlService; import org.chromium.components.search_engines.TemplateUrlService;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import org.chromium.ui.base.MenuSourceType; import org.chromium.ui.base.MenuSourceType;
import java.util.Arrays; import java.util.Arrays;
...@@ -37,6 +44,8 @@ import java.util.List; ...@@ -37,6 +44,8 @@ import java.util.List;
/** /**
* Unit tests for the context menu logic of Chrome. * Unit tests for the context menu logic of Chrome.
*/ */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(Batch.UNIT_TESTS)
public class ChromeContextMenuPopulatorTest { public class ChromeContextMenuPopulatorTest {
private static final String PAGE_URL = "http://www.blah.com"; private static final String PAGE_URL = "http://www.blah.com";
private static final String LINK_URL = "http://www.blah.com/other_blah"; private static final String LINK_URL = "http://www.blah.com/other_blah";
...@@ -55,13 +64,12 @@ public class ChromeContextMenuPopulatorTest { ...@@ -55,13 +64,12 @@ public class ChromeContextMenuPopulatorTest {
private ChromeContextMenuPopulator mPopulator; private ChromeContextMenuPopulator mPopulator;
@CalledByNative @Before
private ChromeContextMenuPopulatorTest() {}
@CalledByNative
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
when(mItemDelegate.getPageUrl()).thenReturn(PAGE_URL); when(mItemDelegate.getPageUrl()).thenReturn(PAGE_URL);
when(mItemDelegate.isIncognitoSupported()).thenReturn(true); when(mItemDelegate.isIncognitoSupported()).thenReturn(true);
when(mItemDelegate.isOpenInOtherWindowSupported()).thenReturn(true); when(mItemDelegate.isOpenInOtherWindowSupported()).thenReturn(true);
...@@ -114,7 +122,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -114,7 +122,9 @@ public class ChromeContextMenuPopulatorTest {
} }
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testHttpLink() { public void testHttpLink() {
FirstRunStatus.setFirstRunFlowComplete(false); FirstRunStatus.setFirstRunFlowComplete(false);
ContextMenuParams contextMenuParams = new ContextMenuParams(0, 0, PAGE_URL, LINK_URL, ContextMenuParams contextMenuParams = new ContextMenuParams(0, 0, PAGE_URL, LINK_URL,
...@@ -151,7 +161,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -151,7 +161,9 @@ public class ChromeContextMenuPopulatorTest {
checkMenuOptions(contextMenuParams, expected4); checkMenuOptions(contextMenuParams, expected4);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testHttpLinkWithPreviewTabEnabled() { public void testHttpLinkWithPreviewTabEnabled() {
ContextMenuParams contextMenuParams = new ContextMenuParams(0, 0, PAGE_URL, LINK_URL, ContextMenuParams contextMenuParams = new ContextMenuParams(0, 0, PAGE_URL, LINK_URL,
LINK_TEXT, "", "", "", null, false, 0, 0, MenuSourceType.MENU_SOURCE_TOUCH); LINK_TEXT, "", "", "", null, false, 0, 0, MenuSourceType.MENU_SOURCE_TOUCH);
...@@ -184,7 +196,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -184,7 +196,9 @@ public class ChromeContextMenuPopulatorTest {
checkMenuOptions(contextMenuParams, expected3); checkMenuOptions(contextMenuParams, expected3);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testMailLink() { public void testMailLink() {
FirstRunStatus.setFirstRunFlowComplete(false); FirstRunStatus.setFirstRunFlowComplete(false);
ContextMenuParams contextMenuParams = ContextMenuParams contextMenuParams =
...@@ -220,7 +234,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -220,7 +234,9 @@ public class ChromeContextMenuPopulatorTest {
checkMenuOptions(contextMenuParams, expected4); checkMenuOptions(contextMenuParams, expected4);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testTelLink() { public void testTelLink() {
FirstRunStatus.setFirstRunFlowComplete(false); FirstRunStatus.setFirstRunFlowComplete(false);
ContextMenuParams contextMenuParams = ContextMenuParams contextMenuParams =
...@@ -257,7 +273,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -257,7 +273,9 @@ public class ChromeContextMenuPopulatorTest {
checkMenuOptions(contextMenuParams, expected4); checkMenuOptions(contextMenuParams, expected4);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testVideoLink() { public void testVideoLink() {
FirstRunStatus.setFirstRunFlowComplete(false); FirstRunStatus.setFirstRunFlowComplete(false);
String sourceUrl = "http://www.blah.com/"; String sourceUrl = "http://www.blah.com/";
...@@ -298,7 +316,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -298,7 +316,9 @@ public class ChromeContextMenuPopulatorTest {
checkMenuOptions(contextMenuParams, expected4Tab1, expected4Tab2); checkMenuOptions(contextMenuParams, expected4Tab1, expected4Tab2);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testImageHiFi() { public void testImageHiFi() {
FirstRunStatus.setFirstRunFlowComplete(false); FirstRunStatus.setFirstRunFlowComplete(false);
ContextMenuParams contextMenuParams = new ContextMenuParams(0, ContextMenuParams contextMenuParams = new ContextMenuParams(0,
...@@ -333,7 +353,9 @@ public class ChromeContextMenuPopulatorTest { ...@@ -333,7 +353,9 @@ public class ChromeContextMenuPopulatorTest {
checkMenuOptions(contextMenuParams, expected4); checkMenuOptions(contextMenuParams, expected4);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testHttpLinkWithImageHiFi() { public void testHttpLinkWithImageHiFi() {
FirstRunStatus.setFirstRunFlowComplete(false); FirstRunStatus.setFirstRunFlowComplete(false);
ContextMenuParams contextMenuParams = new ContextMenuParams(0, ContextMenuParams contextMenuParams = new ContextMenuParams(0,
......
...@@ -10,20 +10,31 @@ import static org.junit.Assert.assertTrue; ...@@ -10,20 +10,31 @@ import static org.junit.Assert.assertTrue;
import android.app.Notification; import android.app.Notification;
import org.chromium.base.annotations.CalledByNative; import androidx.test.filters.SmallTest;
import org.chromium.base.annotations.CalledByNativeJavaTest;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
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.Feature;
import org.chromium.chrome.browser.notifications.channels.ChromeChannelDefinitions; import org.chromium.chrome.browser.notifications.channels.ChromeChannelDefinitions;
import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager; import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import java.util.Arrays; import java.util.Arrays;
/** /**
* Unit tests for NotificationPlatformBridge. * Unit tests for NotificationPlatformBridge.
*/ */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(Batch.UNIT_TESTS)
public class NotificationPlatformBridgeUnitTest { public class NotificationPlatformBridgeUnitTest {
@CalledByNative @Before
private NotificationPlatformBridgeUnitTest() {} public void setUp() {
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
}
/** /**
* Verifies that the getOriginFromTag method returns the origin for valid input, and null for * Verifies that the getOriginFromTag method returns the origin for valid input, and null for
...@@ -32,7 +43,8 @@ public class NotificationPlatformBridgeUnitTest { ...@@ -32,7 +43,8 @@ public class NotificationPlatformBridgeUnitTest {
* This is defined in functions in notification_id_generator.cc. * This is defined in functions in notification_id_generator.cc.
*/ */
@Feature({"Browser", "Notifications"}) @Feature({"Browser", "Notifications"})
@CalledByNativeJavaTest @SmallTest
@Test
public void testGetOriginFromNotificationTag() { public void testGetOriginFromNotificationTag() {
// The common case. // The common case.
assertEquals("https://example.com", assertEquals("https://example.com",
...@@ -61,7 +73,8 @@ public class NotificationPlatformBridgeUnitTest { ...@@ -61,7 +73,8 @@ public class NotificationPlatformBridgeUnitTest {
* and null for any other channel or a null channel id. * and null for any other channel or a null channel id.
*/ */
@Feature({"Browser", "Notifications"}) @Feature({"Browser", "Notifications"})
@CalledByNativeJavaTest @SmallTest
@Test
public void testGetOriginFromChannelId() { public void testGetOriginFromChannelId() {
// Returns the expected origin for a channel id associated with a particular origin. // Returns the expected origin for a channel id associated with a particular origin.
assertEquals("https://example.com", assertEquals("https://example.com",
...@@ -82,7 +95,8 @@ public class NotificationPlatformBridgeUnitTest { ...@@ -82,7 +95,8 @@ public class NotificationPlatformBridgeUnitTest {
* Verifies that the makeDefaults method returns the generated notification defaults. * Verifies that the makeDefaults method returns the generated notification defaults.
*/ */
@Feature({"Browser", "Notifications"}) @Feature({"Browser", "Notifications"})
@CalledByNativeJavaTest @SmallTest
@Test
public void testMakeDefaults() { public void testMakeDefaults() {
// 0 should be returned if pattern length is 0, silent is true, and vibration is enabled. // 0 should be returned if pattern length is 0, silent is true, and vibration is enabled.
assertEquals(0, NotificationPlatformBridge.makeDefaults(0, true, true)); assertEquals(0, NotificationPlatformBridge.makeDefaults(0, true, true));
...@@ -108,7 +122,8 @@ public class NotificationPlatformBridgeUnitTest { ...@@ -108,7 +122,8 @@ public class NotificationPlatformBridgeUnitTest {
* in Android notification. * in Android notification.
*/ */
@Feature({"Browser", "Notifications"}) @Feature({"Browser", "Notifications"})
@CalledByNativeJavaTest @SmallTest
@Test
public void testMakeVibrationPattern() { public void testMakeVibrationPattern() {
assertTrue(Arrays.equals(new long[] {0, 100, 200, 300}, assertTrue(Arrays.equals(new long[] {0, 100, 200, 300},
NotificationPlatformBridge.makeVibrationPattern(new int[] {100, 200, 300}))); NotificationPlatformBridge.makeVibrationPattern(new int[] {100, 200, 300})));
......
...@@ -4,21 +4,32 @@ ...@@ -4,21 +4,32 @@
package org.chromium.chrome.browser.partnercustomizations; package org.chromium.chrome.browser.partnercustomizations;
import androidx.test.filters.SmallTest;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.annotations.CalledByNativeJavaTest; import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
/** /**
* Unit tests for {@link PartnerBrowserCustomizations}. * Unit tests for {@link PartnerBrowserCustomizations}.
*/ */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(Batch.UNIT_TESTS)
public class PartnerBrowserCustomizationsUnitTest { public class PartnerBrowserCustomizationsUnitTest {
@CalledByNative @Before
private PartnerBrowserCustomizationsUnitTest() {} public void setUp() {
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
}
@Feature({"Homepage"}) @Feature({"Homepage"})
@CalledByNativeJavaTest @SmallTest
@Test
public void testIsValidHomepage() { public void testIsValidHomepage() {
Assert.assertTrue(PartnerBrowserCustomizations.isValidHomepage( Assert.assertTrue(PartnerBrowserCustomizations.isValidHomepage(
"chrome-native://newtab/path#fragment")); "chrome-native://newtab/path#fragment"));
......
...@@ -13,12 +13,20 @@ import android.content.pm.ServiceInfo; ...@@ -13,12 +13,20 @@ import android.content.pm.ServiceInfo;
import android.content.pm.Signature; import android.content.pm.Signature;
import android.os.Bundle; import android.os.Bundle;
import androidx.test.filters.SmallTest;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatcher; import org.mockito.ArgumentMatcher;
import org.mockito.ArgumentMatchers; import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.annotations.CalledByNativeJavaTest; import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Batch;
import org.chromium.chrome.test.ChromeBrowserTestRule;
import org.chromium.components.payments.PackageManagerDelegate; import org.chromium.components.payments.PackageManagerDelegate;
import org.chromium.components.payments.PaymentApp; import org.chromium.components.payments.PaymentApp;
import org.chromium.components.payments.PaymentAppFactoryParams; import org.chromium.components.payments.PaymentAppFactoryParams;
...@@ -27,6 +35,7 @@ import org.chromium.components.payments.PaymentManifestParser; ...@@ -27,6 +35,7 @@ import org.chromium.components.payments.PaymentManifestParser;
import org.chromium.components.payments.PaymentManifestWebDataService; import org.chromium.components.payments.PaymentManifestWebDataService;
import org.chromium.components.payments.WebAppManifestSection; import org.chromium.components.payments.WebAppManifestSection;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import org.chromium.payments.mojom.PaymentDetailsModifier; import org.chromium.payments.mojom.PaymentDetailsModifier;
import org.chromium.payments.mojom.PaymentMethodData; import org.chromium.payments.mojom.PaymentMethodData;
import org.chromium.url.GURL; import org.chromium.url.GURL;
...@@ -38,12 +47,21 @@ import java.util.List; ...@@ -38,12 +47,21 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** Tests for the native Android payment app finder. */ /** Tests for the native Android payment app finder. */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(AndroidPaymentAppFinderUnitTest.PAYMENTS_BROWSER_UNIT_TESTS)
public class AndroidPaymentAppFinderUnitTest { public class AndroidPaymentAppFinderUnitTest {
// Collection of payments unit tests that require the browser process to be initialized.
static final String PAYMENTS_BROWSER_UNIT_TESTS = "PaymentsBrowserUnitTests";
private static final IntentArgumentMatcher sPayIntentArgumentMatcher = private static final IntentArgumentMatcher sPayIntentArgumentMatcher =
new IntentArgumentMatcher(new Intent("org.chromium.intent.action.PAY")); new IntentArgumentMatcher(new Intent("org.chromium.intent.action.PAY"));
@CalledByNative @Rule
private AndroidPaymentAppFinderUnitTest() {} public ChromeBrowserTestRule mTestRule = new ChromeBrowserTestRule();
@Before
public void setUp() {
NativeLibraryTestUtils.loadNativeLibraryAndInitBrowserProcess();
}
/** /**
* Argument matcher that matches Intents using |filterEquals| method. * Argument matcher that matches Intents using |filterEquals| method.
...@@ -108,7 +126,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -108,7 +126,9 @@ public class AndroidPaymentAppFinderUnitTest {
Mockito.verify(delegate).onDoneCreatingPaymentApps(/*factory=*/null); Mockito.verify(delegate).onDoneCreatingPaymentApps(/*factory=*/null);
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testNoValidPaymentMethodNames() { public void testNoValidPaymentMethodNames() {
verifyNoAppsFound(findApps(new String[] {"unknown-payment-method-name", verifyNoAppsFound(findApps(new String[] {"unknown-payment-method-name",
"http://not.secure.payment.method.name.com", "https://"}, "http://not.secure.payment.method.name.com", "https://"},
...@@ -117,7 +137,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -117,7 +137,9 @@ public class AndroidPaymentAppFinderUnitTest {
Mockito.mock(PackageManagerDelegate.class))); Mockito.mock(PackageManagerDelegate.class)));
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryWithoutApps() { public void testQueryWithoutApps() {
PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageManagerDelegate.class); PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageManagerDelegate.class);
Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentWithMetaData( Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentWithMetaData(
...@@ -133,7 +155,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -133,7 +155,9 @@ public class AndroidPaymentAppFinderUnitTest {
ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt()); ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt());
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryWithoutMetaData() { public void testQueryWithoutMetaData() {
List<ResolveInfo> activities = new ArrayList<>(); List<ResolveInfo> activities = new ArrayList<>();
ResolveInfo alicePay = new ResolveInfo(); ResolveInfo alicePay = new ResolveInfo();
...@@ -158,7 +182,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -158,7 +182,9 @@ public class AndroidPaymentAppFinderUnitTest {
ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt()); ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt());
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryWithoutLabel() { public void testQueryWithoutLabel() {
List<ResolveInfo> activities = new ArrayList<>(); List<ResolveInfo> activities = new ArrayList<>();
ResolveInfo alicePay = new ResolveInfo(); ResolveInfo alicePay = new ResolveInfo();
...@@ -186,7 +212,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -186,7 +212,9 @@ public class AndroidPaymentAppFinderUnitTest {
ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt()); ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt());
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryUnsupportedPaymentMethod() { public void testQueryUnsupportedPaymentMethod() {
PackageManagerDelegate packageManagerDelegate = installPaymentApps( PackageManagerDelegate packageManagerDelegate = installPaymentApps(
new String[] {"com.alicepay.app"}, new String[] {"unsupported-payment-method"}); new String[] {"com.alicepay.app"}, new String[] {"unsupported-payment-method"});
...@@ -226,7 +254,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -226,7 +254,9 @@ public class AndroidPaymentAppFinderUnitTest {
return packageManagerDelegate; return packageManagerDelegate;
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryDifferentPaymentMethod() { public void testQueryDifferentPaymentMethod() {
PackageManagerDelegate packageManagerDelegate = PackageManagerDelegate packageManagerDelegate =
installPaymentApps(new String[] {"com.alicepay.app"}, new String[] {"basic-card"}); installPaymentApps(new String[] {"com.alicepay.app"}, new String[] {"basic-card"});
...@@ -240,7 +270,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -240,7 +270,9 @@ public class AndroidPaymentAppFinderUnitTest {
ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt()); ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt());
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryNoPaymentMethod() { public void testQueryNoPaymentMethod() {
PackageManagerDelegate packageManagerDelegate = PackageManagerDelegate packageManagerDelegate =
installPaymentApps(new String[] {"com.alicepay.app"}, new String[] {"basic-card"}); installPaymentApps(new String[] {"com.alicepay.app"}, new String[] {"basic-card"});
...@@ -253,7 +285,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -253,7 +285,9 @@ public class AndroidPaymentAppFinderUnitTest {
ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt()); ArgumentMatchers.any(ApplicationInfo.class), ArgumentMatchers.anyInt());
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryBasicCardsWithTwoApps() { public void testQueryBasicCardsWithTwoApps() {
List<ResolveInfo> activities = new ArrayList<>(); List<ResolveInfo> activities = new ArrayList<>();
ResolveInfo alicePay = new ResolveInfo(); ResolveInfo alicePay = new ResolveInfo();
...@@ -314,7 +348,9 @@ public class AndroidPaymentAppFinderUnitTest { ...@@ -314,7 +348,9 @@ public class AndroidPaymentAppFinderUnitTest {
Mockito.verify(delegate).onDoneCreatingPaymentApps(/*factory=*/null); Mockito.verify(delegate).onDoneCreatingPaymentApps(/*factory=*/null);
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testQueryBobPayWithOneAppThatHasIsReadyToPayService() { public void testQueryBobPayWithOneAppThatHasIsReadyToPayService() {
List<ResolveInfo> activities = new ArrayList<>(); List<ResolveInfo> activities = new ArrayList<>();
ResolveInfo bobPay = new ResolveInfo(); ResolveInfo bobPay = new ResolveInfo();
......
...@@ -8,15 +8,22 @@ import android.app.Activity; ...@@ -8,15 +8,22 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import androidx.test.filters.SmallTest;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.annotations.CalledByNativeJavaTest; import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Batch;
import org.chromium.components.payments.PayerData; import org.chromium.components.payments.PayerData;
import org.chromium.components.payments.PaymentApp; import org.chromium.components.payments.PaymentApp;
import org.chromium.components.payments.SupportedDelegations; import org.chromium.components.payments.SupportedDelegations;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import org.chromium.content_public.browser.test.util.CriteriaHelper; import org.chromium.content_public.browser.test.util.CriteriaHelper;
import org.chromium.payments.mojom.PaymentCurrencyAmount; import org.chromium.payments.mojom.PaymentCurrencyAmount;
import org.chromium.payments.mojom.PaymentDetailsModifier; import org.chromium.payments.mojom.PaymentDetailsModifier;
...@@ -30,6 +37,8 @@ import java.util.HashMap; ...@@ -30,6 +37,8 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** Tests for the native Android payment app finder. */ /** Tests for the native Android payment app finder. */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(Batch.UNIT_TESTS)
public class AndroidPaymentAppUnitTest { public class AndroidPaymentAppUnitTest {
@Mock @Mock
private AndroidPaymentApp.Launcher mLauncherMock; private AndroidPaymentApp.Launcher mLauncherMock;
...@@ -41,10 +50,14 @@ public class AndroidPaymentAppUnitTest { ...@@ -41,10 +50,14 @@ public class AndroidPaymentAppUnitTest {
private boolean mReadyToPayQueryFinished; private boolean mReadyToPayQueryFinished;
private boolean mInvokePaymentAppFinished; private boolean mInvokePaymentAppFinished;
@CalledByNative @Before
private AndroidPaymentAppUnitTest() {} public void setUp() {
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
}
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testSuccessfulPaymentWithoutIsReadyToPayService() throws Exception { public void testSuccessfulPaymentWithoutIsReadyToPayService() throws Exception {
runTest(Activity.RESULT_OK); runTest(Activity.RESULT_OK);
Assert.assertNull(mErrorMessage); Assert.assertNull(mErrorMessage);
...@@ -52,7 +65,9 @@ public class AndroidPaymentAppUnitTest { ...@@ -52,7 +65,9 @@ public class AndroidPaymentAppUnitTest {
Assert.assertEquals("{}", mPaymentDetails); Assert.assertEquals("{}", mPaymentDetails);
} }
@CalledByNativeJavaTest @SmallTest
@Test
@UiThreadTest
public void testCancelledPaymentWithoutIsReadyToPayService() throws Exception { public void testCancelledPaymentWithoutIsReadyToPayService() throws Exception {
runTest(Activity.RESULT_CANCELED); runTest(Activity.RESULT_CANCELED);
Assert.assertEquals("Payment app returned RESULT_CANCELED code. This is how payment apps " Assert.assertEquals("Payment app returned RESULT_CANCELED code. This is how payment apps "
......
...@@ -9,12 +9,19 @@ import android.content.pm.PackageInfo; ...@@ -9,12 +9,19 @@ import android.content.pm.PackageInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.pm.Signature; import android.content.pm.Signature;
import androidx.test.filters.SmallTest;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.annotations.CalledByNativeJavaTest; import org.chromium.base.test.util.Batch;
import org.chromium.chrome.browser.payments.PaymentManifestVerifier.ManifestVerifyCallback; import org.chromium.chrome.browser.payments.PaymentManifestVerifier.ManifestVerifyCallback;
import org.chromium.chrome.test.ChromeBrowserTestRule;
import org.chromium.components.payments.PackageManagerDelegate; import org.chromium.components.payments.PackageManagerDelegate;
import org.chromium.components.payments.PaymentManifestDownloader; import org.chromium.components.payments.PaymentManifestDownloader;
import org.chromium.components.payments.PaymentManifestParser; import org.chromium.components.payments.PaymentManifestParser;
...@@ -22,6 +29,7 @@ import org.chromium.components.payments.PaymentManifestWebDataService; ...@@ -22,6 +29,7 @@ import org.chromium.components.payments.PaymentManifestWebDataService;
import org.chromium.components.payments.PaymentManifestWebDataService.PaymentManifestWebDataServiceCallback; import org.chromium.components.payments.PaymentManifestWebDataService.PaymentManifestWebDataServiceCallback;
import org.chromium.components.payments.WebAppManifestSection; import org.chromium.components.payments.WebAppManifestSection;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import org.chromium.url.GURL; import org.chromium.url.GURL;
import org.chromium.url.Origin; import org.chromium.url.Origin;
...@@ -29,19 +37,21 @@ import java.util.HashSet; ...@@ -29,19 +37,21 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
/** A test for the verifier of a payment app manifest. */ /** A test for the verifier of a payment app manifest. */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(AndroidPaymentAppFinderUnitTest.PAYMENTS_BROWSER_UNIT_TESTS)
public class PaymentManifestVerifierTest { public class PaymentManifestVerifierTest {
private static final String ERROR_MESSAGE = "This is an error message."; private static final String ERROR_MESSAGE = "This is an error message.";
private final Origin mTestOrigin; private Origin mTestOrigin;
private final GURL mMethodName; private GURL mMethodName;
private final ResolveInfo mAlicePay; private ResolveInfo mAlicePay;
private final ResolveInfo mBobPay; private ResolveInfo mBobPay;
private final Set<ResolveInfo> mMatchingApps; private Set<ResolveInfo> mMatchingApps;
private final PaymentManifestDownloader mDownloader; private PaymentManifestDownloader mDownloader;
private final PaymentManifestWebDataService mWebDataService; private PaymentManifestWebDataService mWebDataService;
private final PaymentManifestParser mParser; private PaymentManifestParser mParser;
private final PackageManagerDelegate mPackageManagerDelegate; private PackageManagerDelegate mPackageManagerDelegate;
private final ManifestVerifyCallback mCallback; private ManifestVerifyCallback mCallback;
// SHA256("01020304050607080900"): // SHA256("01020304050607080900"):
public static final byte[][] BOB_PAY_SIGNATURE_FINGERPRINTS = {{(byte) 0x9A, (byte) 0x89, public static final byte[][] BOB_PAY_SIGNATURE_FINGERPRINTS = {{(byte) 0x9A, (byte) 0x89,
...@@ -52,8 +62,13 @@ public class PaymentManifestVerifierTest { ...@@ -52,8 +62,13 @@ public class PaymentManifestVerifierTest {
(byte) 0x09, (byte) 0xC4, (byte) 0x74, (byte) 0xF5, (byte) 0x93, (byte) 0xFB}}; (byte) 0x09, (byte) 0xC4, (byte) 0x74, (byte) 0xF5, (byte) 0x93, (byte) 0xFB}};
public static final Signature BOB_PAY_SIGNATURE = new Signature("01020304050607080900"); public static final Signature BOB_PAY_SIGNATURE = new Signature("01020304050607080900");
@CalledByNative @Rule
private PaymentManifestVerifierTest() { public ChromeBrowserTestRule mTestRule = new ChromeBrowserTestRule();
@Before
public void setUp() {
NativeLibraryTestUtils.loadNativeLibraryAndInitBrowserProcess();
mTestOrigin = PaymentManifestDownloader.createOpaqueOriginForTest(); mTestOrigin = PaymentManifestDownloader.createOpaqueOriginForTest();
mMethodName = new GURL("https://example.com"); mMethodName = new GURL("https://example.com");
...@@ -132,7 +147,8 @@ public class PaymentManifestVerifierTest { ...@@ -132,7 +147,8 @@ public class PaymentManifestVerifierTest {
mCallback = Mockito.mock(ManifestVerifyCallback.class); mCallback = Mockito.mock(ManifestVerifyCallback.class);
} }
@CalledByNativeJavaTest @SmallTest
@Test
public void testUnableToDownloadPaymentMethodManifest() { public void testUnableToDownloadPaymentMethodManifest() {
PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName, PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName,
mMatchingApps, null /* supportedOrigins */, mMatchingApps, null /* supportedOrigins */,
...@@ -156,7 +172,8 @@ public class PaymentManifestVerifierTest { ...@@ -156,7 +172,8 @@ public class PaymentManifestVerifierTest {
.onValidDefaultPaymentApp(Mockito.any(GURL.class), Mockito.any(ResolveInfo.class)); .onValidDefaultPaymentApp(Mockito.any(GURL.class), Mockito.any(ResolveInfo.class));
} }
@CalledByNativeJavaTest @SmallTest
@Test
public void testUnableToDownloadWebAppManifest() { public void testUnableToDownloadWebAppManifest() {
PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName, PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName,
mMatchingApps, null /* supportedOrigins */, mMatchingApps, null /* supportedOrigins */,
...@@ -189,7 +206,8 @@ public class PaymentManifestVerifierTest { ...@@ -189,7 +206,8 @@ public class PaymentManifestVerifierTest {
Mockito.verify(mCallback).onFinishedUsingResources(); Mockito.verify(mCallback).onFinishedUsingResources();
} }
@CalledByNativeJavaTest @SmallTest
@Test
public void testUnableToParsePaymentMethodManifest() { public void testUnableToParsePaymentMethodManifest() {
PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName, PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName,
mMatchingApps, null /* supportedOrigins */, mWebDataService, mMatchingApps, null /* supportedOrigins */, mWebDataService,
...@@ -209,7 +227,8 @@ public class PaymentManifestVerifierTest { ...@@ -209,7 +227,8 @@ public class PaymentManifestVerifierTest {
Mockito.verify(mCallback).onFinishedUsingResources(); Mockito.verify(mCallback).onFinishedUsingResources();
} }
@CalledByNativeJavaTest @SmallTest
@Test
public void testUnableToParseWebAppManifest() { public void testUnableToParseWebAppManifest() {
PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName, PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName,
mMatchingApps, null /* supportedOrigins */, mWebDataService, mMatchingApps, null /* supportedOrigins */, mWebDataService,
...@@ -237,7 +256,8 @@ public class PaymentManifestVerifierTest { ...@@ -237,7 +256,8 @@ public class PaymentManifestVerifierTest {
Mockito.verify(mCallback).onFinishedUsingResources(); Mockito.verify(mCallback).onFinishedUsingResources();
} }
@CalledByNativeJavaTest @SmallTest
@Test
public void testBobPayAllowed() { public void testBobPayAllowed() {
PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName, PaymentManifestVerifier verifier = new PaymentManifestVerifier(mTestOrigin, mMethodName,
mMatchingApps, null /* supportedOrigins */, mWebDataService, mDownloader, mParser, mMatchingApps, null /* supportedOrigins */, mWebDataService, mDownloader, mParser,
...@@ -260,7 +280,8 @@ public class PaymentManifestVerifierTest { ...@@ -260,7 +280,8 @@ public class PaymentManifestVerifierTest {
} }
/** If a single web app manifest fails to download, all downloads should be aborted. */ /** If a single web app manifest fails to download, all downloads should be aborted. */
@CalledByNativeJavaTest @SmallTest
@Test
public void testFirstOfTwoManifestsFailsToDownload() { public void testFirstOfTwoManifestsFailsToDownload() {
CountingParser parser = new CountingParser() { CountingParser parser = new CountingParser() {
@Override @Override
...@@ -312,7 +333,8 @@ public class PaymentManifestVerifierTest { ...@@ -312,7 +333,8 @@ public class PaymentManifestVerifierTest {
} }
/** If a single web app manifest fails to parse, all downloads should be aborted. */ /** If a single web app manifest fails to parse, all downloads should be aborted. */
@CalledByNativeJavaTest @SmallTest
@Test
public void testFirstOfTwoManifestsFailsToParse() { public void testFirstOfTwoManifestsFailsToParse() {
CountingParser parser = new CountingParser() { CountingParser parser = new CountingParser() {
@Override @Override
......
...@@ -18,14 +18,21 @@ import static org.mockito.Mockito.when; ...@@ -18,14 +18,21 @@ import static org.mockito.Mockito.when;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.test.filters.SmallTest;
import org.junit.After;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatcher; import org.mockito.ArgumentMatcher;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.CalledByNativeJavaTest;
import org.chromium.base.task.TaskRunner; import org.chromium.base.task.TaskRunner;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabImpl; import org.chromium.chrome.browser.tab.TabImpl;
...@@ -36,6 +43,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStore.TabPersistentStor ...@@ -36,6 +43,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStore.TabPersistentStor
import org.chromium.chrome.browser.tabmodel.TabPersistentStore.TabRestoreDetails; import org.chromium.chrome.browser.tabmodel.TabPersistentStore.TabRestoreDetails;
import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import org.chromium.content_public.browser.test.util.CriteriaHelper; import org.chromium.content_public.browser.test.util.CriteriaHelper;
import java.io.IOException; import java.io.IOException;
...@@ -45,6 +53,8 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -45,6 +53,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
/** /**
* Unit tests for the tab persistent store logic. * Unit tests for the tab persistent store logic.
*/ */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(Batch.UNIT_TESTS)
public class TabPersistentStoreUnitTest { public class TabPersistentStoreUnitTest {
private static final Integer REGULAR_TAB_ID_1 = 1; private static final Integer REGULAR_TAB_ID_1 = 1;
private static final Integer INCOGNITO_TAB_ID_1 = 21; private static final Integer INCOGNITO_TAB_ID_1 = 21;
...@@ -81,13 +91,12 @@ public class TabPersistentStoreUnitTest { ...@@ -81,13 +91,12 @@ public class TabPersistentStoreUnitTest {
private TabPersistentStore mPersistentStore; private TabPersistentStore mPersistentStore;
@CalledByNative @Before
private TabPersistentStoreUnitTest() {}
@CalledByNative
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
when(mIncognitoTabModel.isIncognito()).thenReturn(true); when(mIncognitoTabModel.isIncognito()).thenReturn(true);
when(mTabModelSelector.getModel(false)).thenReturn(mNormalTabModel); when(mTabModelSelector.getModel(false)).thenReturn(mNormalTabModel);
when(mTabModelSelector.getModel(true)).thenReturn(mIncognitoTabModel); when(mTabModelSelector.getModel(true)).thenReturn(mIncognitoTabModel);
...@@ -101,17 +110,18 @@ public class TabPersistentStoreUnitTest { ...@@ -101,17 +110,18 @@ public class TabPersistentStoreUnitTest {
when(mPersistencePolicy.performInitialization(any(TaskRunner.class))).thenReturn(false); when(mPersistencePolicy.performInitialization(any(TaskRunner.class))).thenReturn(false);
} }
@CalledByNative @After
public void tearDown() throws Exception { public void tearDown() throws Exception {
// Flush pending PersistentStore tasks. // Flush pending PersistentStore tasks.
final AtomicBoolean flushed = new AtomicBoolean(false); final AtomicBoolean flushed = new AtomicBoolean(false);
if (mPersistentStore != null) { if (mPersistentStore != null) {
mPersistentStore.getTaskRunnerForTests().postTask(() -> { flushed.set(true); }); mPersistentStore.getTaskRunnerForTests().postTask(() -> { flushed.set(true); });
CriteriaHelper.pollUiThreadNested(() -> flushed.get()); CriteriaHelper.pollUiThread(() -> flushed.get());
} }
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testNtpSaveBehavior() { public void testNtpSaveBehavior() {
when(mNormalTabModel.index()).thenReturn(TabList.INVALID_TAB_INDEX); when(mNormalTabModel.index()).thenReturn(TabList.INVALID_TAB_INDEX);
...@@ -162,7 +172,8 @@ public class TabPersistentStoreUnitTest { ...@@ -162,7 +172,8 @@ public class TabPersistentStoreUnitTest {
assertTrue(mPersistentStore.isTabPendingSave(ntpWithAllTheNavsTab)); assertTrue(mPersistentStore.isTabPendingSave(ntpWithAllTheNavsTab));
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testNotActiveEmptyNtpIgnoredDuringRestore() { public void testNotActiveEmptyNtpIgnoredDuringRestore() {
mPersistentStore = new TabPersistentStore( mPersistentStore = new TabPersistentStore(
...@@ -176,7 +187,8 @@ public class TabPersistentStoreUnitTest { ...@@ -176,7 +187,8 @@ public class TabPersistentStoreUnitTest {
verifyZeroInteractions(mNormalTabCreator); verifyZeroInteractions(mNormalTabCreator);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testActiveEmptyNtpNotIgnoredDuringRestore() { public void testActiveEmptyNtpNotIgnoredDuringRestore() {
when(mTabModelSelector.isIncognitoSelected()).thenReturn(false); when(mTabModelSelector.isIncognitoSelected()).thenReturn(false);
...@@ -201,7 +213,8 @@ public class TabPersistentStoreUnitTest { ...@@ -201,7 +213,8 @@ public class TabPersistentStoreUnitTest {
eq(TabLaunchType.FROM_RESTORE), (Tab) isNull()); eq(TabLaunchType.FROM_RESTORE), (Tab) isNull());
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testNtpFromMergeWithNoStateNotIgnoredDuringMerge() { public void testNtpFromMergeWithNoStateNotIgnoredDuringMerge() {
when(mTabModelSelector.isIncognitoSelected()).thenReturn(false); when(mTabModelSelector.isIncognitoSelected()).thenReturn(false);
...@@ -232,7 +245,8 @@ public class TabPersistentStoreUnitTest { ...@@ -232,7 +245,8 @@ public class TabPersistentStoreUnitTest {
eq(TabLaunchType.FROM_RESTORE), (Tab) isNull()); eq(TabLaunchType.FROM_RESTORE), (Tab) isNull());
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testNtpWithStateNotIgnoredDuringRestore() { public void testNtpWithStateNotIgnoredDuringRestore() {
mPersistentStore = new TabPersistentStore( mPersistentStore = new TabPersistentStore(
...@@ -247,7 +261,8 @@ public class TabPersistentStoreUnitTest { ...@@ -247,7 +261,8 @@ public class TabPersistentStoreUnitTest {
verify(mNormalTabCreator).createFrozenTab(eq(ntpState), eq(1), anyInt()); verify(mNormalTabCreator).createFrozenTab(eq(ntpState), eq(1), anyInt());
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testActiveEmptyIncognitoNtpNotIgnoredDuringRestore() { public void testActiveEmptyIncognitoNtpNotIgnoredDuringRestore() {
when(mTabModelSelector.isIncognitoSelected()).thenReturn(true); when(mTabModelSelector.isIncognitoSelected()).thenReturn(true);
...@@ -272,7 +287,8 @@ public class TabPersistentStoreUnitTest { ...@@ -272,7 +287,8 @@ public class TabPersistentStoreUnitTest {
eq(TabLaunchType.FROM_RESTORE), (Tab) isNull()); eq(TabLaunchType.FROM_RESTORE), (Tab) isNull());
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testNotActiveIncognitoNtpIgnoredDuringRestore() { public void testNotActiveIncognitoNtpIgnoredDuringRestore() {
mPersistentStore = new TabPersistentStore( mPersistentStore = new TabPersistentStore(
...@@ -286,7 +302,8 @@ public class TabPersistentStoreUnitTest { ...@@ -286,7 +302,8 @@ public class TabPersistentStoreUnitTest {
verifyZeroInteractions(mIncognitoTabCreator); verifyZeroInteractions(mIncognitoTabCreator);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testActiveEmptyIncognitoNtpIgnoredDuringRestoreIfIncognitoLoadingIsDisabled() { public void testActiveEmptyIncognitoNtpIgnoredDuringRestoreIfIncognitoLoadingIsDisabled() {
mPersistentStore = new TabPersistentStore( mPersistentStore = new TabPersistentStore(
...@@ -300,7 +317,9 @@ public class TabPersistentStoreUnitTest { ...@@ -300,7 +317,9 @@ public class TabPersistentStoreUnitTest {
verifyZeroInteractions(mIncognitoTabCreator); verifyZeroInteractions(mIncognitoTabCreator);
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testSerializeTabModelSelector() throws IOException { public void testSerializeTabModelSelector() throws IOException {
setupSerializationTestMocks(); setupSerializationTestMocks();
...@@ -323,7 +342,9 @@ public class TabPersistentStoreUnitTest { ...@@ -323,7 +342,9 @@ public class TabPersistentStoreUnitTest {
metadata.incognitoModelMetadata.urls.get(1)); metadata.incognitoModelMetadata.urls.get(1));
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
@Feature("TabPersistentStore") @Feature("TabPersistentStore")
public void testSerializeTabModelSelector_tabsBeingRestored() throws IOException { public void testSerializeTabModelSelector_tabsBeingRestored() throws IOException {
setupSerializationTestMocks(); setupSerializationTestMocks();
......
...@@ -9,22 +9,33 @@ import static org.mockito.Mockito.doReturn; ...@@ -9,22 +9,33 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import androidx.test.filters.SmallTest;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.annotations.CalledByNativeJavaTest; import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Batch;
import org.chromium.base.test.util.JniMocker;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.omnibox.LocationBarLayout; import org.chromium.chrome.browser.omnibox.LocationBarLayout;
import org.chromium.chrome.browser.tab.TabImpl; import org.chromium.chrome.browser.tab.TabImpl;
import org.chromium.components.security_state.ConnectionSecurityLevel; import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.components.security_state.SecurityStateModel; import org.chromium.components.security_state.SecurityStateModel;
import org.chromium.components.security_state.SecurityStateModelJni; import org.chromium.components.security_state.SecurityStateModelJni;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
/** /**
* Unit tests for {@link LocationBarLayout} class. * Unit tests for {@link LocationBarLayout} class.
*/ */
@RunWith(BaseJUnit4ClassRunner.class)
@Batch(Batch.UNIT_TESTS)
public final class ToolbarSecurityIconTest { public final class ToolbarSecurityIconTest {
private static final boolean IS_SMALL_DEVICE = true; private static final boolean IS_SMALL_DEVICE = true;
private static final boolean IS_OFFLINE_PAGE = true; private static final boolean IS_OFFLINE_PAGE = true;
...@@ -34,6 +45,9 @@ public final class ToolbarSecurityIconTest { ...@@ -34,6 +45,9 @@ public final class ToolbarSecurityIconTest {
new int[] {ConnectionSecurityLevel.NONE, ConnectionSecurityLevel.WARNING, new int[] {ConnectionSecurityLevel.NONE, ConnectionSecurityLevel.WARNING,
ConnectionSecurityLevel.DANGEROUS, ConnectionSecurityLevel.SECURE}; ConnectionSecurityLevel.DANGEROUS, ConnectionSecurityLevel.SECURE};
@Rule
public JniMocker mocker = new JniMocker();
@Mock @Mock
private TabImpl mTab; private TabImpl mTab;
@Mock @Mock
...@@ -42,23 +56,20 @@ public final class ToolbarSecurityIconTest { ...@@ -42,23 +56,20 @@ public final class ToolbarSecurityIconTest {
@Mock @Mock
private LocationBarModel mLocationBarModel; private LocationBarModel mLocationBarModel;
@CalledByNative @Before
private ToolbarSecurityIconTest() {}
@CalledByNative
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
SecurityStateModelJni.TEST_HOOKS.setInstanceForTesting(mSecurityStateMocks);
NativeLibraryTestUtils.loadNativeLibraryNoBrowserProcess();
mocker.mock(SecurityStateModelJni.TEST_HOOKS, mSecurityStateMocks);
mLocationBarModel = spy(new LocationBarModel(ContextUtils.getApplicationContext())); mLocationBarModel = spy(new LocationBarModel(ContextUtils.getApplicationContext()));
mLocationBarModel.initializeWithNative(); mLocationBarModel.initializeWithNative();
} }
@CalledByNative @Test
public void tearDown() { @SmallTest
SecurityStateModelJni.TEST_HOOKS.setInstanceForTesting(null); @UiThreadTest
}
@CalledByNativeJavaTest
public void testGetSecurityLevel() { public void testGetSecurityLevel() {
assertEquals(ConnectionSecurityLevel.NONE, assertEquals(ConnectionSecurityLevel.NONE,
mLocationBarModel.getSecurityLevel(null, !IS_OFFLINE_PAGE, null)); mLocationBarModel.getSecurityLevel(null, !IS_OFFLINE_PAGE, null));
...@@ -91,7 +102,9 @@ public final class ToolbarSecurityIconTest { ...@@ -91,7 +102,9 @@ public final class ToolbarSecurityIconTest {
mLocationBarModel.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, null)); mLocationBarModel.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, null));
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testGetSecurityIconResource() { public void testGetSecurityIconResource() {
when(mSecurityStateMocks.shouldShowDangerTriangleForWarningLevel()).thenReturn(false); when(mSecurityStateMocks.shouldShowDangerTriangleForWarningLevel()).thenReturn(false);
for (int securityLevel : SECURITY_LEVELS) { for (int securityLevel : SECURITY_LEVELS) {
...@@ -168,7 +181,9 @@ public final class ToolbarSecurityIconTest { ...@@ -168,7 +181,9 @@ public final class ToolbarSecurityIconTest {
!IS_SMALL_DEVICE, !IS_OFFLINE_PAGE, !IS_PREVIEW, !IS_PAINT_PREVIEW)); !IS_SMALL_DEVICE, !IS_OFFLINE_PAGE, !IS_PREVIEW, !IS_PAINT_PREVIEW));
} }
@CalledByNativeJavaTest @Test
@SmallTest
@UiThreadTest
public void testGetSecurityIconResourceForMarkHttpAsDangerWarning() { public void testGetSecurityIconResourceForMarkHttpAsDangerWarning() {
when(mSecurityStateMocks.shouldShowDangerTriangleForWarningLevel()).thenReturn(false); when(mSecurityStateMocks.shouldShowDangerTriangleForWarningLevel()).thenReturn(false);
assertEquals(0, assertEquals(0,
......
# TEAM: payments-dev@chromium.org
# COMPONENT: UI>Browser>Payments
file://components/payments/OWNERS
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/ChromeContextMenuPopulatorTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class ChromeContextMenuPopulatorTest : public ::testing::Test {
public:
ChromeContextMenuPopulatorTest()
: j_test_(Java_ChromeContextMenuPopulatorTest_Constructor(
AttachCurrentThread())) {}
void SetUp() override {
Java_ChromeContextMenuPopulatorTest_setUp(AttachCurrentThread(), j_test_);
}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(ChromeContextMenuPopulatorTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/InstalledAppProviderTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class InstalledAppProviderTest : public ::testing::Test {
public:
InstalledAppProviderTest()
: j_test_(
Java_InstalledAppProviderTest_Constructor(AttachCurrentThread())) {}
void SetUp() override {
Java_InstalledAppProviderTest_setUp(AttachCurrentThread(), j_test_);
}
void TearDown() override {
Java_InstalledAppProviderTest_tearDown(AttachCurrentThread(), j_test_);
}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(InstalledAppProviderTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/NotificationPlatformBridgeUnitTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class NotificationPlatformBridgeUnitTest : public ::testing::Test {
public:
NotificationPlatformBridgeUnitTest()
: j_test_(Java_NotificationPlatformBridgeUnitTest_Constructor(
AttachCurrentThread())) {}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(NotificationPlatformBridgeUnitTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/PartnerBrowserCustomizationsUnitTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class PartnerBrowserCustomizationsUnitTest : public ::testing::Test {
public:
PartnerBrowserCustomizationsUnitTest()
: j_test_(Java_PartnerBrowserCustomizationsUnitTest_Constructor(
AttachCurrentThread())) {}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(PartnerBrowserCustomizationsUnitTest, j_test())
...@@ -80,15 +80,9 @@ source_set("unittests") { ...@@ -80,15 +80,9 @@ source_set("unittests") {
] ]
if (is_android) { if (is_android) {
sources += [ sources += [ "android/payment_app_service_bridge_unittest.cc" ]
"android/android_payment_app_finder_unittest.cc",
"android/android_payment_app_unittest.cc",
"android/payment_app_service_bridge_unittest.cc",
"android/payment_manifest_verifier_unittest.cc",
]
deps += [ deps += [
"//chrome/android:native_j_unittests_jni_headers",
"//components/payments/content", "//components/payments/content",
"//components/payments/content:utils", "//components/payments/content:utils",
] ]
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/AndroidPaymentAppFinderUnitTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class AndroidPaymentAppFinderUnitTest : public ::testing::Test {
public:
AndroidPaymentAppFinderUnitTest()
: j_test_(Java_AndroidPaymentAppFinderUnitTest_Constructor(
AttachCurrentThread())) {}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(AndroidPaymentAppFinderUnitTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/AndroidPaymentAppUnitTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
class AndroidPaymentAppUnitTest : public ::testing::Test {
public:
AndroidPaymentAppUnitTest()
: j_test_(Java_AndroidPaymentAppUnitTest_Constructor(
base::android::AttachCurrentThread())) {}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(AndroidPaymentAppUnitTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/PaymentManifestVerifierTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class PaymentManifestVerifierTest : public ::testing::Test {
public:
PaymentManifestVerifierTest()
: j_test_(Java_PaymentManifestVerifierTest_Constructor(
AttachCurrentThread())) {}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(PaymentManifestVerifierTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/TabPersistentStoreUnitTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class TabPersistentStoreUnitTest : public ::testing::Test {
public:
TabPersistentStoreUnitTest()
: j_test_(Java_TabPersistentStoreUnitTest_Constructor(
AttachCurrentThread())) {}
void SetUp() override {
Java_TabPersistentStoreUnitTest_setUp(AttachCurrentThread(), j_test_);
}
void TearDown() override {
Java_TabPersistentStoreUnitTest_tearDown(AttachCurrentThread(), j_test_);
}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(TabPersistentStoreUnitTest, j_test())
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/android/native_j_unittests_jni_headers/ToolbarSecurityIconTest_jni.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::android::AttachCurrentThread;
class ToolbarSecurityIconTest : public ::testing::Test {
public:
ToolbarSecurityIconTest()
: j_test_(
Java_ToolbarSecurityIconTest_Constructor(AttachCurrentThread())) {}
void SetUp() override {
Java_ToolbarSecurityIconTest_setUp(AttachCurrentThread(), j_test_);
}
void TearDown() override {
Java_ToolbarSecurityIconTest_tearDown(AttachCurrentThread(), j_test_);
}
const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
return j_test_;
}
private:
base::android::ScopedJavaGlobalRef<jobject> j_test_;
};
JAVA_TESTS(ToolbarSecurityIconTest, j_test())
...@@ -4029,15 +4029,11 @@ test("unit_tests") { ...@@ -4029,15 +4029,11 @@ test("unit_tests") {
"../browser/autofill/autofill_save_card_infobar_delegate_mobile_unittest.cc", "../browser/autofill/autofill_save_card_infobar_delegate_mobile_unittest.cc",
"../browser/autofill/credit_card_accessory_controller_impl_unittest.cc", "../browser/autofill/credit_card_accessory_controller_impl_unittest.cc",
"../browser/autofill/manual_filling_controller_impl_unittest.cc", "../browser/autofill/manual_filling_controller_impl_unittest.cc",
"../browser/contextmenu/chrome_context_menu_populator_unittest.cc",
"../browser/installedapp/installed_app_provider_unittest.cc",
"../browser/media/android/cdm/media_drm_origin_id_manager_unittest.cc", "../browser/media/android/cdm/media_drm_origin_id_manager_unittest.cc",
"../browser/metrics/chrome_android_metrics_provider_unittest.cc", "../browser/metrics/chrome_android_metrics_provider_unittest.cc",
"../browser/notifications/notification_platform_bridge_android_unittest.cc",
"../browser/offline_pages/prefetch/notifications/prefetch_notification_service_impl_unittest.cc", "../browser/offline_pages/prefetch/notifications/prefetch_notification_service_impl_unittest.cc",
"../browser/optimization_guide/android/optimization_guide_bridge_unittest.cc", "../browser/optimization_guide/android/optimization_guide_bridge_unittest.cc",
"../browser/page_load_metrics/observers/android_page_load_metrics_observer_unittest.cc", "../browser/page_load_metrics/observers/android_page_load_metrics_observer_unittest.cc",
"../browser/partnercustomizations/partner_browser_customizations_unittest.cc",
"../browser/password_manager/android/account_chooser_dialog_android_unittest.cc", "../browser/password_manager/android/account_chooser_dialog_android_unittest.cc",
"../browser/password_manager/android/all_passwords_bottom_sheet_controller_unittest.cc", "../browser/password_manager/android/all_passwords_bottom_sheet_controller_unittest.cc",
"../browser/password_manager/android/auto_signin_first_run_dialog_android_unittest.cc", "../browser/password_manager/android/auto_signin_first_run_dialog_android_unittest.cc",
...@@ -4047,8 +4043,6 @@ test("unit_tests") { ...@@ -4047,8 +4043,6 @@ test("unit_tests") {
"../browser/password_manager/android/save_password_infobar_delegate_android_unittest.cc", "../browser/password_manager/android/save_password_infobar_delegate_android_unittest.cc",
"../browser/password_manager/android/update_password_infobar_delegate_android_unittest.cc", "../browser/password_manager/android/update_password_infobar_delegate_android_unittest.cc",
"../browser/permissions/permission_prompt_android_unittest.cc", "../browser/permissions/permission_prompt_android_unittest.cc",
"../browser/tabmodel/tab_persistent_store_unittest.cc",
"../browser/toolbar/toolbar_security_icon_unittest.cc",
"../browser/touch_to_fill/touch_to_fill_controller_unittest.cc", "../browser/touch_to_fill/touch_to_fill_controller_unittest.cc",
"../browser/translate/translate_manager_render_view_host_android_unittest.cc", "../browser/translate/translate_manager_render_view_host_android_unittest.cc",
] ]
...@@ -4058,8 +4052,6 @@ test("unit_tests") { ...@@ -4058,8 +4052,6 @@ test("unit_tests") {
"//chrome:chrome_android_core", "//chrome:chrome_android_core",
"//chrome/android:app_hooks_java", "//chrome/android:app_hooks_java",
"//chrome/android:chrome_java", "//chrome/android:chrome_java",
"//chrome/android:native_j_unittests_jni_headers",
"//chrome/android:native_java_unittests_java",
"//chrome/android/features/media_router:java", "//chrome/android/features/media_router:java",
"//chrome/browser/optimization_guide/android:native_j_unittests_jni_headers", "//chrome/browser/optimization_guide/android:native_j_unittests_jni_headers",
"//chrome/browser/optimization_guide/android:native_java_unittests", "//chrome/browser/optimization_guide/android:native_java_unittests",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment