# Copyright 2016 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/dart/test.gni")

dart_library("keyboard") {
  package_name = "keyboard"

  sources = [
    "constants.dart",
    "keyboard.dart",
    "keys.dart",
    "word_suggestion_service.dart",
  ]

  deps = [
    "//third_party/dart-pkg/git/flutter/packages/flutter",
  ]
}

dart_test("keyboard_tests") {
  sources = [
    "keyboard_test.dart",
    "keys_test.dart",
  ]

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