6 releases (breaking)
0.6.0 | May 17, 2022 |
---|---|
0.5.0 | Jan 31, 2022 |
0.4.0 | Nov 2, 2021 |
0.3.0 | Jul 30, 2021 |
0.1.0 | Oct 15, 2020 |
#37 in #cldr
1,224 downloads per month
Used in 6 crates
(5 directly)
2MB
9K
SLoC
icu_testdata 
icu_testdata
is a unit testing crate for ICU4X
.
The crate exposes a data provider 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.
There are four modes of operation, enabled by features:
static
(default) exposes [get_postcard_provider
].fs
exposes [get_json_provider
]baked
exposes [get_baked_provider
].metadata
exposes the [metadata
] module which contains information such as the CLDR Gitref and the list of included locales.
However, clients should not generally choose a specific provider, but rather use [get_provider
].
This is currently an alias for [get_postcard_provider
], as it is fast and has few dependencies.
Re-generating the data
Downloading fresh CLDR data
$ cargo run --bin --features=bin icu4x-testdata-download-sources
Regenerating JSON and postcard data
$ cargo run --bin --features=bin icu4x-testdata-datagen
Examples
use std::borrow::Cow;
use icu_provider::prelude::*;
use icu_locid::locale;
let data_provider = icu_testdata::get_provider();
let data: DataPayload<icu_plurals::provider::CardinalV1Marker> = data_provider
.load_resource(&DataRequest {
options: locale!("ru").into(),
metadata: Default::default(),
})
.unwrap()
.take_payload()
.unwrap();
let rule = "v = 0 and i % 10 = 2..4 and i % 100 != 12..14".parse()
.expect("Failed to parse plural rule");
assert_eq!(data.get().few, Some(rule));
More Information
For more information on development, authorship, contributing etc. please visit ICU4X home page
.
Dependencies
~2–13MB
~221K SLoC