# 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/components.gni")
import("//build/rust/rustc_library.gni")

rustc_library("offset_string") {
  edition = "2021"
  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:unic-char-range",
  ]

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

fuchsia_unittest_package("offset_string_tests") {
  deps = [ ":offset_string_test" ]
}

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