chromium/components/url_pattern_index/BUILD.gn

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

static_library("url_pattern_index") {
  sources = [
    "closed_hash_map.h",
    "fuzzy_pattern_matching.cc",
    "fuzzy_pattern_matching.h",
    "ngram_extractor.h",
    "string_splitter.h",
    "uint64_hasher.h",
    "url_pattern.cc",
    "url_pattern.h",
    "url_pattern_index.cc",
    "url_pattern_index.h",
    "url_rule_util.cc",
    "url_rule_util.h",
  ]

  public_deps = [
    "//components/url_pattern_index/flat:url_pattern_index",
    "//components/url_pattern_index/proto:url_pattern_index",
    "//third_party/abseil-cpp:absl",
  ]

  deps = [
    "//base",
    "//third_party/flatbuffers:flatbuffers",
    "//third_party/protobuf:protobuf_lite",
    "//url",
  ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "url_rule_test_support.cc",
    "url_rule_test_support.h",
  ]
  deps = [
    ":url_pattern_index",
    "//base",
    "//net",
    "//third_party/protobuf:protobuf_lite",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "closed_hash_map_unittest.cc",
    "fuzzy_pattern_matching_unittest.cc",
    "ngram_extractor_unittest.cc",
    "string_splitter_unittest.cc",
    "url_pattern_index_unittest.cc",
    "url_pattern_unittest.cc",
    "url_rule_util_unittest.cc",
  ]
  deps = [
    ":test_support",
    ":url_pattern_index",
    "//base",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/protobuf:protobuf_lite",
    "//url",
  ]
}