# Copyright 2021 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("ffx") {
  package_name = "ffx"
  null_safe = true

  sources = [
    "ffx.dart",
    "src/exceptions.dart",
    "src/ffx.dart",
    "src/runner.dart",
  ]
}

dart_test("ffx_dart_tests") {
  null_safe = true

  sources = [ "ffx_test.dart" ]

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

group("tests") {
  testonly = true
  deps = [ ":ffx_dart_tests($host_toolchain)" ]
}
