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

import("//build/dart/dart_library.gni")
import("//topaz/runtime/dart/flutter_test.gni")

dart_library("flutter") {
  infer_package_name = true

  sources = [
    "keyboard.dart",
  ]

  deps = [
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/lib/keyboard_deprecated/dart",
    "//topaz/lib/shell",
    "//topaz/public/dart/widgets:lib.widgets",
    "//topaz/shell/keyboard",
  ]
}

flutter_test("keyboard_test") {
  sources = [
    "keyboard_model_test.dart",
  ]

  deps = [
    ":flutter",
    "//third_party/dart-pkg/git/flutter/packages/flutter_test",
    "//third_party/dart-pkg/pub/mockito",
    "//third_party/dart-pkg/pub/test",
    "//topaz/lib/keyboard_deprecated/dart",
    "//topaz/lib/shell",
  ]
}
