icu_testdata

Crates.ioicu_testdata
lib.rsicu_testdata
version1.5.0
sourcesrc
created_at2020-10-15 15:37:14.710718
updated_at2024-05-28 20:25:50.893017
descriptionPre-built test data for ICU4X
homepagehttps://icu4x.unicode.org
repositoryhttps://github.com/unicode-org/icu4x
max_upload_size20971520
id300042
size41,343,960
icu4x-release (github:unicode-org:icu4x-release)

documentation

README

icu_testdata crates.io

🚧 This crate has been superseded by ICU4X's compiled_data feature and is deprecated. Data for new components will not be added, and it will not be updated for ICU4X 2.0.

icu_testdata is a unit testing crate for ICU4X.

The crate exposes data providers with stable data useful for unit testing. The data is based on a CLDR tag and a short list of locales that, together, cover a range of scenarios.

The crate exposes three kinds of providers, corresponding to the three types of constructors in ICU:

  • [unstable], [unstable_no_fallback]
  • [any], [any_no_fallback]
  • [buffer], [buffer_no_fallback] (buffer Cargo feature)

Examples

use icu::locid::locale;
use icu_provider::hello_world::HelloWorldFormatter;

// Unstable constructor
HelloWorldFormatter::try_new_unstable(
    &icu_testdata::unstable(),
    &locale!("en-CH").into(),
).unwrap();

// AnyProvider constructor
HelloWorldFormatter::try_new_with_any_provider(
    &icu_testdata::any(),
    &locale!("en-CH").into(),
).unwrap();

// BufferProvider constructor (`icu` with `serde` feature, `icu_testdata` with `buffer` feature)
HelloWorldFormatter::try_new_with_buffer_provider(
    &icu_testdata::buffer(),
    &locale!("en-CH").into(),
).unwrap();

// Without fallback the locale match needs to be exact
HelloWorldFormatter::try_new_unstable(
    &icu_testdata::unstable_no_fallback(),
    &locale!("en-CH").into(),
).is_err();

HelloWorldFormatter::try_new_unstable(
    &icu_testdata::unstable_no_fallback(),
    &locale!("en").into(),
).unwrap();

More Information

For more information on development, authorship, contributing etc. please visit ICU4X home page.

Commit count: 3096

cargo fmt