# Copyright 2018 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("chrome_util_lib") {
  sources = [
    "chrome_util.cc",
    "chrome_util.h",
  ]

  deps = [
    "//base:base",
    "//chrome/chrome_cleaner/os:common_os",
    "//components/chrome_cleaner/public/constants:constants",
  ]
}

source_set("extensions_util_lib") {
  sources = [
    "extensions_util.cc",
    "extensions_util.h",
  ]

  deps = [
    "//base:base",
    "//chrome/chrome_cleaner/os:common_os",
  ]
}

source_set("unittest_sources") {
  testonly = true

  sources = [
    "extensions_util_unittest.cc",
  ]

  deps = [
    ":chrome_util_lib",
    ":extensions_util_lib",
    "//base:base",
    "//base/test:test_support",
    "//chrome/chrome_cleaner/constants:common_strings",
    "//chrome/chrome_cleaner/os:common_os",
    "//chrome/chrome_cleaner/test:test_util",
    "//testing/gtest",
  ]
}
