# Copyright 2016 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.

source_set("earl_grey_support") {
  defines = [ "CHROME_EARL_GREY_1" ]
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true

  deps = [
    "//base/test:test_support",
    "//ios/third_party/earl_grey:earl_grey+link",
    "//testing/gtest:gtest",
  ]

  sources = [
    "coverage_utils.h",
    "coverage_utils.mm",
    "disabled_test_macros.h",
    "earl_grey_app.h",
    "earl_grey_test.h",
    "matchers.h",
    "matchers.mm",
  ]
}

source_set("eg_app_support+eg2") {
  defines = [ "CHROME_EARL_GREY_2" ]
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true

  deps = [
    "//base/test:test_support",
    "//ios/third_party/earl_grey2:app_framework+link",
    "//testing/gtest:gtest",
  ]

  sources = [
    "coverage_utils.h",
    "coverage_utils.mm",
    "earl_grey_app.h",
  ]
}

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

  sources = [
    "coverage_utils.h",
    "coverage_utils_stub.mm",
    "disabled_test_macros.h",
    "earl_grey_test.h",
    "matchers.h",
    "matchers.mm",
  ]

  deps = [
    "//ios/third_party/earl_grey2:test_lib",
    "//testing/gtest:gtest",
  ]
}
