chromium/ios/web/shell/test/BUILD.gn

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ios/build/config.gni")
import("//ios/third_party/earl_grey2/ios_eg2_test.gni")

group("all_tests") {
  testonly = true
  deps = [
    ":ios_web_shell_eg2tests",
    ":ios_web_shell_eg2tests_module",
  ]
}

################################
# EG2 targets.

source_set("eg_app_support+eg2") {
  configs += [ "//build/config/ios:xctest_config" ]
  testonly = true

  sources = [
    "app/navigation_test_util.h",
    "app/navigation_test_util.mm",
    "app/web_shell_test_util.h",
    "app/web_shell_test_util.mm",
    "app/web_view_interaction_test_util.h",
    "app/web_view_interaction_test_util.mm",
    "earl_grey/shell_actions_app_interface.h",
    "earl_grey/shell_actions_app_interface.mm",
    "earl_grey/shell_earl_grey_app_interface.h",
    "earl_grey/shell_earl_grey_app_interface.mm",
    "earl_grey/shell_matchers_app_interface.h",
    "earl_grey/shell_matchers_app_interface.mm",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//ios/testing:nserror_support",
    "//ios/testing/earl_grey:eg_app_support+eg2",
    "//ios/third_party/earl_grey2:app_framework+link",
    "//ios/web",
    "//ios/web:eg_app_support+eg2",
    "//ios/web/public/test",
    "//ios/web/public/test/http_server",
    "//ios/web/shell",
    "//ios/web/shell:shell_interfaces",
    "//url",
  ]
}

source_set("eg_test_support+eg2") {
  configs += [ "//build/config/ios:xctest_config" ]
  testonly = true

  sources = [
    "earl_grey/shell_actions.h",
    "earl_grey/shell_actions.mm",
    "earl_grey/shell_actions_app_interface.h",
    "earl_grey/shell_actions_app_interface_stub.mm",
    "earl_grey/shell_earl_grey.h",
    "earl_grey/shell_earl_grey.mm",
    "earl_grey/shell_earl_grey_app_interface.h",
    "earl_grey/shell_earl_grey_app_interface_stub.mm",
    "earl_grey/shell_matchers.h",
    "earl_grey/shell_matchers.mm",
    "earl_grey/shell_matchers_app_interface.h",
    "earl_grey/shell_matchers_app_interface_stub.mm",
    "earl_grey/web_shell_test_case.h",
    "earl_grey/web_shell_test_case.mm",
  ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//ios/testing:http_server_bundle_data",
    "//ios/testing:nserror_support",
    "//ios/testing/earl_grey:eg_test_support+eg2",
    "//ios/web/public/test:element_selector",
    "//ios/web/shell:shell_interfaces",
    "//net:test_support",
    "//url",
  ]
}

source_set("eg2_tests") {
  configs += [ "//build/config/ios:xctest_config" ]
  testonly = true

  sources = [
    "context_menu_egtest.mm",
    "page_load_egtest.mm",
    "page_state_egtest.mm",
  ]

  deps = [
    ":eg_test_support+eg2",
    "//base",
    "//ios/testing/earl_grey:eg_test_support+eg2",
    "//ios/web/public/test:element_selector",
    "//ios/web/public/test/http_server",
    "//net:test_support",
  ]

  frameworks = [ "UIKit.framework" ]
}

ios_eg2_test_app_host("ios_web_shell_eg2tests") {
  info_plist = "//ios/web/shell/Info.plist"
  bundle_identifier = shared_bundle_id_for_test_apps

  deps = [
    "//ios/web/shell",

    # Test support libraries.
    ":eg_app_support+eg2",
    "//ios/testing/earl_grey:eg_app_support+eg2",
  ]
}

ios_eg2_test("ios_web_shell_eg2tests_module") {
  xcode_test_application_name = "ios_web_shell_eg2tests"

  deps = [
    # Tests and test support libraries.
    ":eg2_tests",
  ]

  data_deps = [ ":ios_web_shell_eg2tests" ]
}