# 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. import("//build/config/android/config.gni") import("//build/config/android/rules.gni") android_library("weblayer_java_tests") { testonly = true sources = [ "src/org/chromium/weblayer/test/BoundedCountDownLatch.java", "src/org/chromium/weblayer/test/BrowserFragmentLifecycleTest.java", "src/org/chromium/weblayer/test/CloseTabNewTabCallbackImpl.java", "src/org/chromium/weblayer/test/CookieManagerTest.java", "src/org/chromium/weblayer/test/CrashReporterTest.java", "src/org/chromium/weblayer/test/DataClearingTest.java", "src/org/chromium/weblayer/test/DowngradeTest.java", "src/org/chromium/weblayer/test/DownloadCallbackTest.java", "src/org/chromium/weblayer/test/ErrorPageCallbackTest.java", "src/org/chromium/weblayer/test/EventUtils.java", "src/org/chromium/weblayer/test/ExecuteScriptTest.java", "src/org/chromium/weblayer/test/ExternalNavigationTest.java", "src/org/chromium/weblayer/test/FindInPageTest.java", "src/org/chromium/weblayer/test/FullscreenCallbackTest.java", "src/org/chromium/weblayer/test/InputTypesTest.java", "src/org/chromium/weblayer/test/InstrumentationActivityTestRule.java", "src/org/chromium/weblayer/test/NavigationTest.java", "src/org/chromium/weblayer/test/NavigationWaiter.java", "src/org/chromium/weblayer/test/NewTabCallbackImpl.java", "src/org/chromium/weblayer/test/NewTabCallbackTest.java", "src/org/chromium/weblayer/test/ProfileTest.java", "src/org/chromium/weblayer/test/RenderingTest.java", "src/org/chromium/weblayer/test/SmokeTest.java", "src/org/chromium/weblayer/test/TabCallbackTest.java", "src/org/chromium/weblayer/test/TabListCallbackTest.java", "src/org/chromium/weblayer/test/TabTest.java", "src/org/chromium/weblayer/test/TestFullscreenCallback.java", "src/org/chromium/weblayer/test/TopControlsTest.java", "src/org/chromium/weblayer/test/WebLayerJUnit4ClassRunner.java", "src/org/chromium/weblayer/test/WebLayerLoadingTest.java", "src/org/chromium/weblayer/test/WebViewCompatibilityTest.java", ] deps = [ "//base:base_java", "//base:base_java_test_support", "//components/safe_browsing/android:safe_browsing_java", "//content/public/test/android:content_java_test_support", "//net/android:net_java_test_support", "//third_party/android_deps:android_support_v4_java", "//third_party/android_deps:androidx_core_core_java", "//third_party/android_deps:com_android_support_support_fragment_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", "//third_party/hamcrest:hamcrest_java", "//third_party/junit:junit", "//weblayer/browser/java:interfaces_java", "//weblayer/public/java", "//weblayer/public/javatests:weblayer_public_javatests", "//weblayer/shell/android:weblayer_shell_java", ] } android_library("weblayer_private_java_tests") { testonly = true sources = [ "src/org/chromium/weblayer/test/GeolocationTest.java", "src/org/chromium/weblayer/test/InstrumentationActivityTestRule.java", "src/org/chromium/weblayer/test/NavigationWaiter.java", "src/org/chromium/weblayer/test/NetworkChangeNotifierTest.java", "src/org/chromium/weblayer/test/ResourceLoadingTest.java", "src/org/chromium/weblayer/test/WebLayerJUnit4ClassRunner.java", ] deps = [ "//base:base_java", "//base:base_java_test_support", "//content/public/test/android:content_java_test_support", "//net/android:net_java_test_support", "//third_party/android_deps:com_android_support_support_fragment_java", "//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:runner_java", "//third_party/hamcrest:hamcrest_java", "//third_party/junit:junit", "//weblayer/public/java", "//weblayer/public/javatestutil:test_java", "//weblayer/shell/android:weblayer_shell_java", ] } template("weblayer_instrumentation") { instrumentation_test_apk(target_name) { forward_variables_from(invoker, "*") android_manifest = "AndroidManifest.xml" min_sdk_version = 21 if (!defined(additional_apks)) { additional_apks = [] } additional_apks += [ "//net/android:net_test_support_apk" ] data = [ "//weblayer/test/data/" ] } } # Runs the instrumentation tests loading the implementation from the default # WebView provider. This is the loading path that is used in production. # TODO(crbug.com/1033070): Figure out why the test infrastructure fails on some # Android versions. weblayer_instrumentation("weblayer_instrumentation_test_apk") { apk_name = "WebLayerInstrumentationTest" apk_under_test = "//weblayer/shell/android:weblayer_shell_system_webview_apk" use_webview_provider = system_webview_apk_target deps = [ ":weblayer_java_tests" ] } # Runs the instrumentation tests loading the implementation from the WebLayer # support library. weblayer_instrumentation("weblayer_support_instrumentation_test_apk") { apk_name = "WebLayerSupportInstrumentationTest" apk_under_test = "//weblayer/shell/android:weblayer_shell_apk" additional_apks = [ "//weblayer/shell/android:weblayer_support_apk" ] deps = [ ":weblayer_java_tests" ] } weblayer_instrumentation("weblayer_private_instrumentation_test_apk") { apk_name = "WebLayerPrivateInstrumentationTest" apk_under_test = "//weblayer/shell/android:weblayer_shell_apk" additional_apks = [ "//weblayer/shell/android:weblayer_support_apk" ] deps = [ ":weblayer_private_java_tests" ] }