Crate icu_testdata
source ·Expand description
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::*;
use icu_provider::prelude::*;
let req = DataRequest {
locale: &locale!("en").into(),
metadata: Default::default(),
};
assert_eq!(
DataProvider::<HelloWorldV1Marker>::load(
&icu_testdata::unstable(),
req
)
.and_then(DataResponse::take_payload)
.unwrap()
.get()
.message,
"Hello World"
);
assert_eq!(
BufferProvider::load_buffer(
&icu_testdata::buffer(),
HelloWorldV1Marker::KEY,
req
)
.and_then(DataResponse::take_payload)
.unwrap()
.get(),
&b"\x0bHello World"
);
assert_eq!(
AnyProvider::load_any(
&icu_testdata::any(),
HelloWorldV1Marker::KEY,
req
)
.and_then(AnyResponse::downcast::<HelloWorldV1Marker>)
.and_then(DataResponse::take_payload)
.unwrap()
.get()
.message,
"Hello World"
);
Modules
Get paths to the test data directories.
Functions to access version info of the ICU test data.
Functions
An
AnyProvider
backed by baked data.An
AnyProvider
backed by baked data.A
BufferProvider
backed by a Postcard blob.A
BufferProvider
backed by a Postcard blob.Gets the locales supported by the test data.
A data provider that is compatible with all ICU
_unstable
constructors.A data provider that is compatible with all ICU
_unstable
constructors.