# Copyright 2019 The Fuchsia 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("//build/test/test_package.gni")

source_set("rapidjson_utils") {
  sources = [
    "rapidjson_validation.cc",
    "rapidjson_validation.h",
  ]

  public_deps = [
    "//src/lib/fxl",
    "//third_party/rapidjson",
  ]
}

executable("tests") {
  testonly = true

  output_name = "rapidjson_utils_unittests"

  sources = [
    "rapidjson_validation_unittest.cc",
  ]

  deps = [
    ":rapidjson_utils",
    "//garnet/public/lib/gtest",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/rapidjson",
  ]
}

unittest_package("rapidjson_utils_unittests") {
  deps = [
    ":tests",
  ]
  tests = [
    {
      name = "rapidjson_utils_unittests"
    },
  ]
}
