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

rustc_library("offset_string") {
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//src/fonts/char_set",
    "//src/lib/intl/unicode_utils/char_collection",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:thiserror",
    "//third_party/rust_crates:unic-char-range",
  ]

  sources = [
    "src/conversions.rs",
    "src/lib.rs",
  ]
}

test_package("offset_string_tests") {
  deps = [ ":offset_string_test" ]

  tests = [
    {
      name = "offset_string_lib_test"
      environments = basic_envs
    },
  ]
}

group("tests") {
  testonly = true
  public_deps = [ ":offset_string_tests" ]
}
