# 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("base") {
  testonly = true
  sources = [
    "scoped_block_swizzler.h",
    "scoped_block_swizzler.mm",
  ]
  deps = [
    "//base",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "scoped_block_swizzler_unittest.mm",
  ]
  deps = [
    ":base",
    "//base",
    "//testing/gtest",
  ]
}

source_set("perf_test_support") {
  testonly = true
  sources = [
    "perf_test_ios.h",
    "perf_test_ios.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/browser/web:web_internal",
    "//ios/chrome/test:test_support",
    "//ios/web:test_support",
  ]
}
