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

dart_library("quickui") {
  package_name = "quickui"

  sources = [
    "quickui.dart",
    "uistream.dart",
  ]

  deps = [ "//sdk/fidl/fuchsia.ui.remotewidgets" ]
}

dart_test("quickui_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 = [
    "quickui_test.dart",
    "uistream_test.dart",
  ]

  deps = [
    ":quickui",
    "//third_party/dart-pkg/pub/mockito",
    "//third_party/dart-pkg/pub/test",
  ]
}
