# 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_fuchsia_test.gni")
import("//build/dart/dart_library.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/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",
  ]

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