# Copyright 2018 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/dart_test.gni")

dart_library("dart") {
  package_name = "lib.testing.app_driver.dart"

  sources = [
    "fake_module_driver.dart",
  ]

  deps = [
    "//topaz/public/lib/app_driver/dart",
  ]
}

dart_test("fake_module_driver_test") {
  sources = [
    "fake_module_driver_test.dart",
  ]

  deps = [
    ":dart",
    "//third_party/dart-pkg/pub/async",
    "//third_party/dart-pkg/pub/test",
    "//topaz/public/lib/app_driver/dart",
  ]
}
