# Copyright 2017 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.

group("testing") {
  testonly = true

  public_deps = [ ":mock_input_device" ]
}

group("tests") {
  testonly = true

  public_deps = [
    "text:text_test_suite_tests",
    "views:test_views",
  ]
}

source_set("mock_input_device") {
  testonly = true

  sources = [
    "mock_input_device.cc",
    "mock_input_device.h",
    "mock_input_device_registry.cc",
    "mock_input_device_registry.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.ui.input",
    "//sdk/lib/fidl/cpp",
    "//src/lib/fxl",
  ]
}
