# 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("keyboard") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "UIKeyCommand+Chrome.h",
    "UIKeyCommand+Chrome.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/browser/ui/commands",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "UIKeyCommand+ChromeTest.mm",
  ]
  deps = [
    ":keyboard",
    "//base",
    "//ios/chrome/browser/ui/commands",
    "//testing/gtest",
  ]
}

source_set("eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "keyboard_commands_egtest.mm",
  ]
  deps = [
    "//base",
    "//base/test:test_support",
    "//components/strings",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/ui/bookmarks:bookmarks_ui",
    "//ios/chrome/browser/ui/browser_view",
    "//ios/chrome/browser/ui/popup_menu:constants",
    "//ios/chrome/browser/ui/table_view",
    "//ios/chrome/browser/ui/util",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/web/public/test/http_server",
  ]
  libs = [
    "UIKit.framework",
    "XCTest.framework",
  ]
}
