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

import("//ios/web/js_compile.gni")

source_set("payments") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "ios_can_make_payment_query_factory.cc",
    "ios_can_make_payment_query_factory.h",
    "ios_payment_instrument.h",
    "ios_payment_instrument.mm",
    "ios_payment_instrument_finder.h",
    "ios_payment_instrument_finder.mm",
    "ios_payment_instrument_launcher.h",
    "ios_payment_instrument_launcher.mm",
    "ios_payment_instrument_launcher_factory.h",
    "ios_payment_instrument_launcher_factory.mm",
    "ios_payment_request_cache_factory.h",
    "ios_payment_request_cache_factory.mm",
    "payment_request.h",
    "payment_request.mm",
    "payment_request_cache.h",
    "payment_request_cache.mm",
    "payment_request_util.h",
    "payment_request_util.mm",
    "payment_response_helper.h",
    "payment_response_helper.mm",
  ]
  deps = [
    ":constants",
    "//base",
    "//components/autofill/core/browser",
    "//components/image_fetcher/ios",
    "//components/keyed_service/ios",
    "//components/payments/core",
    "//components/prefs",
    "//components/security_state/core",
    "//components/signin/core/browser",
    "//components/strings:components_strings_grit",
    "//ios/chrome/browser",
    "//ios/chrome/browser/autofill",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/signin",
    "//ios/web",
    "//net",
    "//ui/base",
    "//url",
  ]
  libs = [ "UIKit.framework" ]
}

source_set("constants") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "payment_request_constants.cc",
    "payment_request_constants.h",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "ios_payment_instrument_finder_unittest.mm",
    "ios_payment_instrument_launcher_unittest.mm",
    "payment_request_unittest.mm",
    "payment_request_util_unittest.mm",
    "payment_response_helper_unittest.mm",
  ]
  deps = [
    ":payments",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//components/autofill/core/browser",
    "//components/autofill/core/browser:test_support",
    "//components/payments/core",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/web:test_support",
    "//ios/testing:ocmock_support",
    "//ios/web",
    "//ios/web/public/test/fakes",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//url",
  ]
}

source_set("test_support") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "payment_request_test_util.h",
    "payment_request_test_util.mm",
    "payment_request_unittest_base.h",
    "payment_request_unittest_base.mm",
    "test_payment_request.h",
    "test_payment_request.mm",
  ]
  deps = [
    ":payments",
    "//base",
    "//components/autofill/core/browser",
    "//components/autofill/core/browser:test_support",
    "//components/payments/core",
    "//components/payments/core:test_support",
    "//components/prefs",
    "//components/signin/core/browser",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/signin:test_support",
    "//ios/web",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
  ]
}