use fluent_fallback::{
env::LocalesProvider,
types::{L10nKey, ResourceId},
Localization,
}; use l10nregistry_tests::{
FileSource, MockBundleAdapter, RegistrySetup, TestEnvironment, TestFileFetcher,
}; use serial_test::serial; use unic_langid::{langid, LanguageIdentifier};
type L10nRegistry = l10nregistry::registry::L10nRegistry<TestEnvironment, MockBundleAdapter>;
#[test] #[serial] fn localization_format_value_sync() { let loc = setup_sync_test(); let bundles = loc.bundles(); letmut errors = vec![];
for query in &[L10N_ID_PL_EN, L10N_ID_MISSING, L10N_ID_ONLY_EN] { let value = bundles
.format_value_sync(query.0, None, &mut errors)
.unwrap();
assert_eq!(value, query.1.map(|s| Cow::Borrowed(s)));
}
assert_eq!(errors.len(), 4);
}
#[test] #[serial] fn localization_format_values_sync() { let loc = setup_sync_test(); let bundles = loc.bundles(); letmut errors = vec![];
let ids = &[L10N_ID_PL_EN, L10N_ID_MISSING, L10N_ID_ONLY_EN]; let keys = ids
.iter()
.map(|query| L10nKey {
id: query.0.into(),
args: None,
})
.collect::<Vec<_>>();
let values = bundles.format_values_sync(&keys, &mut errors).unwrap();
assert_eq!(values.len(), ids.len());
for (value, query) in values.iter().zip(ids) { iflet Some(expected) = query.1 {
assert_eq!(*value, Some(Cow::Borrowed(expected)));
}
}
assert_eq!(errors.len(), 4);
}
#[tokio::test] #[serial] asyncfn localization_format_value_async() { let loc = setup_async_test(); let bundles = loc.bundles(); letmut errors = vec![];
for query in &[L10N_ID_PL_EN, L10N_ID_MISSING, L10N_ID_ONLY_EN] { let value = bundles.format_value(query.0, None, &mut errors).await; iflet Some(expected) = query.1 {
assert_eq!(value, Some(Cow::Borrowed(expected)));
}
}
}
#[tokio::test] #[serial] asyncfn localization_format_values_async() { let loc = setup_async_test(); let bundles = loc.bundles(); letmut errors = vec![];
let ids = &[L10N_ID_PL_EN, L10N_ID_MISSING, L10N_ID_ONLY_EN]; let keys = ids
.iter()
.map(|query| L10nKey {
id: query.0.into(),
args: None,
})
.collect::<Vec<_>>();
let values = bundles.format_values(&keys, &mut errors).await;
assert_eq!(values.len(), ids.len());
for (value, query) in values.iter().zip(ids) { iflet Some(expected) = query.1 {
assert_eq!(*value, Some(Cow::Borrowed(expected)));
}
}
}
#[tokio::test] #[serial] asyncfn localization_upgrade() { letmut loc = setup_sync_test(); let bundles = loc.bundles(); letmut errors = vec![]; let value = bundles
.format_value_sync(L10N_ID_PL_EN.0, None, &mut errors)
.unwrap();
assert_eq!(value, L10N_ID_PL_EN.1.map(|s| Cow::Borrowed(s)));
loc.set_async(); let bundles = loc.bundles(); let value = bundles
.format_value(L10N_ID_PL_EN.0, None, &mut errors)
.await;
assert_eq!(value, L10N_ID_PL_EN.1.map(|s| Cow::Borrowed(s)));
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-08-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.