# 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/components.gni")
import("//build/test.gni")

source_set("key_util") {
  sources = [
    "key_util.cc",
    "key_util.h",
  ]
  public_deps = [
    "//sdk/fidl/fuchsia.ui.input",
    "//zircon/system/ulib/hid",
    "//zircon/system/ulib/hid-parser",
  ]
}

test("key_util_test") {
  sources = [ "key_util_unittest.cc" ]
  deps = [
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/loop_fixture",
    "//src/ui/lib/key_util",
  ]
}

fuchsia_unittest_package("test") {
  package_name = "key_util_test"
  deps = [ ":key_util_test" ]
}
