# 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/package.gni")
import("//build/rust/rustc_library.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

rustc_library("fuchsia-url") {
  version = "0.1.0"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:percent-encoding",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:thiserror",
    "//third_party/rust_crates:url",
  ]
}

test_package("fuchsia-url-tests") {
  deps = [ ":fuchsia-url_test" ]

  tests = [
    {
      name = "fuchsia_url_lib_test"
      dest = "fuchsia-url-tests"
      environments = basic_envs
    },
  ]
}

group("tests") {
  testonly = true
  deps = [ ":fuchsia-url-tests" ]
}
