# 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/dart/dart_library.gni")
import("//build/fidl/fidl.gni")
import("//build/package.gni")
import("//topaz/runtime/dart/flutter_test.gni")

dart_library("keyboard_shortcuts") {
  package_name = "keyboard_shortcuts"

  # TODO(fxb/57840): This package has transitive dependencies.
  # Please explicitly define its transitive dependencies as direct dependencies then remove this exemption
  disable_strict_deps_check = true

  sources = [
    "keyboard_shortcuts.dart",
    "src/keyboard_shortcuts.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.ui.input2",
    "//sdk/fidl/fuchsia.ui.shortcut",
    "//sdk/fidl/fuchsia.ui.views",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/public/dart/fuchsia_services",
  ]
}

#fx run-host-tests keyboard_shortcuts_unittests
flutter_test("keyboard_shortcuts_unittests") {
  # TODO(fxb/57840): This package has transitive dependencies.
  # Please explicitly define its transitive dependencies as direct dependencies then remove this exemption
  disable_strict_deps_check = true

  sources = [ "keyboard_shortcuts_test.dart" ]

  deps = [
    ":keyboard_shortcuts",
    "//third_party/dart-pkg/git/flutter/packages/flutter_test",
    "//third_party/dart-pkg/pub/mockito",
  ]
}
