# 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/package.gni")
import("//build/rust/rustc_library.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

group("tests") {
  testonly = true

  deps = []
}

rustc_library("driver") {
  name = "shortcut-integration"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//sdk/fidl/fuchsia.ui.input2:fuchsia.ui.input2-rustc",
    "//sdk/fidl/fuchsia.ui.shortcut:fuchsia.ui.shortcut-rustc",
    "//sdk/fidl/fuchsia.ui.views:fuchsia.ui.views-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/syslog/rust:syslog",
    "//src/lib/ui/input-synthesis",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//src/ui/tests/integration_input_tests/keyboard:ui-test-tools",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:thiserror",
    "//third_party/rust_crates:thiserror",
  ]

  sources = [ "src/lib.rs" ]
}

test_package("shortcut-integration") {
  deps = [
    ":driver_test",
    "//src/ui/bin/root_presenter",
    "//src/ui/bin/shortcut",
  ]

  tests = [
    {
      name = "shortcut_integration_lib_test"
      environments = [ nuc_env ]
    },
  ]
}
