# 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("//build/testing/environments.gni")
import("//topaz/runtime/dart/dart_fuchsia_test.gni")

dart_library("fuchsia_vfs") {
  package_name = "fuchsia_vfs"

  sdk_category = "partner"

  source_dir = "lib"

  sources = [
    "src/internal/_error_node.dart",
    "src/pseudo_dir.dart",
    "src/pseudo_file.dart",
    "src/service.dart",
    "src/vmo_file.dart",
    "src/vnode.dart",
    "vfs.dart",
  ]

  deps = [
    "//third_party/dart-pkg/pub/meta",
    "//third_party/dart-pkg/pub/quiver",
    "//topaz/public/dart/fidl",
    "//topaz/public/dart/zircon",
    "//zircon/public/fidl/fuchsia-io",
  ]
}

dart_fuchsia_test("fuchsia_vfs_package_unittests") {
  meta = [
    {
      path = rebase_path("meta/fuchsia_vfs_package_unittests.cmx")
      dest = "fuchsia_vfs_package_unittests.cmx"
    },
  ]

  sources = [
    "pseudo_dir_test.dart",
    "pseudo_file_test.dart",
    "service_test.dart",
    "vmo_file_test.dart",
  ]

  deps = [
    ":fuchsia_vfs",
    "//garnet/examples/fidl/services:echo",
    "//third_party/dart-pkg/pub/test",
  ]
  environments = basic_envs
}
