diff options
Diffstat (limited to 'vendor/icu_provider_adapters/src/fallback/mod.rs')
-rw-r--r-- | vendor/icu_provider_adapters/src/fallback/mod.rs | 94 |
1 files changed, 62 insertions, 32 deletions
diff --git a/vendor/icu_provider_adapters/src/fallback/mod.rs b/vendor/icu_provider_adapters/src/fallback/mod.rs index 6ec636a09..81adad41c 100644 --- a/vendor/icu_provider_adapters/src/fallback/mod.rs +++ b/vendor/icu_provider_adapters/src/fallback/mod.rs @@ -15,6 +15,7 @@ //! Run the locale fallback algorithm: //! //! ``` +//! use icu_locid::locale; //! use icu_provider_adapters::fallback::LocaleFallbacker; //! use icu_provider::prelude::*; //! @@ -26,20 +27,20 @@ //! let key_fallbacker = fallbacker.for_config(Default::default()); //! //! // Set up the fallback iterator. -//! let mut fallback_iterator = key_fallbacker.fallback_for(icu_locid::locale!("hi-Latn-IN").into()); +//! let mut fallback_iterator = key_fallbacker.fallback_for(DataLocale::from(locale!("hi-Latn-IN"))); //! //! // Run the algorithm and check the results. -//! assert_eq!(fallback_iterator.get().to_string(), "hi-Latn-IN"); +//! assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("hi-Latn-IN"))); //! fallback_iterator.step(); -//! assert_eq!(fallback_iterator.get().to_string(), "hi-Latn"); +//! assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("hi-Latn"))); //! fallback_iterator.step(); -//! assert_eq!(fallback_iterator.get().to_string(), "en-IN"); +//! assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("en-IN"))); //! fallback_iterator.step(); -//! assert_eq!(fallback_iterator.get().to_string(), "en-001"); +//! assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("en-001"))); //! fallback_iterator.step(); -//! assert_eq!(fallback_iterator.get().to_string(), "en"); +//! assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("en"))); //! fallback_iterator.step(); -//! assert_eq!(fallback_iterator.get().to_string(), "und"); +//! assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("und"))); //! ``` use icu_locid::extensions::unicode::{Key, Value}; @@ -67,6 +68,7 @@ pub struct LocaleFallbackConfig { /// Retain the language and script subtags until the final step: /// /// ``` + /// use icu_locid::locale; /// use icu_provider::prelude::*; /// use icu_provider::FallbackPriority; /// use icu_provider_adapters::fallback::LocaleFallbackConfig; @@ -80,21 +82,25 @@ pub struct LocaleFallbackConfig { /// config.priority = FallbackPriority::Language; /// let key_fallbacker = fallbacker.for_config(config); /// let mut fallback_iterator = key_fallbacker - /// .fallback_for(icu_locid::locale!("ca-ES-valencia").into()); + /// .fallback_for(DataLocale::from(locale!("ca-ES-valencia"))); /// /// // Run the algorithm and check the results. - /// assert_eq!(fallback_iterator.get().to_string(), "ca-ES-valencia"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("ca-ES-valencia")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "ca-ES"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("ca-ES"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "ca"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("ca"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("und"))); /// ``` /// /// Retain the region subtag until the final step: /// /// ``` + /// use icu_locid::locale; /// use icu_provider::prelude::*; /// use icu_provider::FallbackPriority; /// use icu_provider_adapters::fallback::LocaleFallbackConfig; @@ -108,18 +114,27 @@ pub struct LocaleFallbackConfig { /// config.priority = FallbackPriority::Region; /// let key_fallbacker = fallbacker.for_config(config); /// let mut fallback_iterator = key_fallbacker - /// .fallback_for(icu_locid::locale!("ca-ES-valencia").into()); + /// .fallback_for(DataLocale::from(locale!("ca-ES-valencia"))); /// /// // Run the algorithm and check the results. - /// assert_eq!(fallback_iterator.get().to_string(), "ca-ES-valencia"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("ca-ES-valencia")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "ca-ES"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("ca-ES"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und-ES-valencia"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("und-ES-valencia")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und-ES"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("und-ES")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("und"))); /// ``` pub priority: FallbackPriority, /// An extension keyword to retain during locale fallback. @@ -127,6 +142,7 @@ pub struct LocaleFallbackConfig { /// # Examples /// /// ``` + /// use icu_locid::locale; /// use icu_provider::prelude::*; /// use icu_provider_adapters::fallback::LocaleFallbackConfig; /// use icu_provider_adapters::fallback::LocaleFallbacker; @@ -139,16 +155,19 @@ pub struct LocaleFallbackConfig { /// config.extension_key = Some(icu_locid::extensions_unicode_key!("nu")); /// let key_fallbacker = fallbacker.for_config(config); /// let mut fallback_iterator = key_fallbacker - /// .fallback_for(icu_locid::locale!("ar-EG-u-nu-latn").into()); + /// .fallback_for(DataLocale::from(locale!("ar-EG-u-nu-latn"))); /// /// // Run the algorithm and check the results. - /// assert_eq!(fallback_iterator.get().to_string(), "ar-EG-u-nu-latn"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("ar-EG-u-nu-latn")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "ar-EG"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("ar-EG"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "ar"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("ar"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("und"))); /// ``` pub extension_key: Option<Key>, /// Fallback supplement data key to customize fallback rules. @@ -162,6 +181,7 @@ pub struct LocaleFallbackConfig { /// # Examples /// /// ``` + /// use icu_locid::locale; /// use icu_provider::prelude::*; /// use icu_provider::FallbackPriority; /// use icu_provider::FallbackSupplement; @@ -178,17 +198,23 @@ pub struct LocaleFallbackConfig { /// config.fallback_supplement = Some(FallbackSupplement::Collation); /// let key_fallbacker = fallbacker.for_config(config); /// let mut fallback_iterator = - /// key_fallbacker.fallback_for(icu_locid::locale!("yue-HK").into()); + /// key_fallbacker.fallback_for(DataLocale::from(locale!("yue-HK"))); /// /// // Run the algorithm and check the results. /// // TODO(#1964): add "zh" as a target. - /// assert_eq!(fallback_iterator.get().to_string(), "yue-HK"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("yue-HK")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "yue"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("yue"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "zh-Hant"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("zh-Hant")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("und"))); /// ``` pub fallback_supplement: Option<FallbackSupplement>, } @@ -303,6 +329,7 @@ impl LocaleFallbacker { /// # Examples /// /// ``` + /// use icu_locid::locale; /// use icu_provider::prelude::*; /// use icu_provider_adapters::fallback::LocaleFallbacker; /// use std::borrow::Cow; @@ -323,14 +350,17 @@ impl LocaleFallbacker { /// .expect("data"); /// let key_fallbacker = fallbacker.for_key(FooV1Marker::KEY); /// let mut fallback_iterator = - /// key_fallbacker.fallback_for(icu_locid::locale!("en-GB").into()); + /// key_fallbacker.fallback_for(DataLocale::from(locale!("en-GB"))); /// /// // Run the algorithm and check the results. - /// assert_eq!(fallback_iterator.get().to_string(), "en-GB"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("en-GB"))); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und-GB"); + /// assert_eq!( + /// fallback_iterator.get(), + /// &DataLocale::from(locale!("und-GB")) + /// ); /// fallback_iterator.step(); - /// assert_eq!(fallback_iterator.get().to_string(), "und"); + /// assert_eq!(fallback_iterator.get(), &DataLocale::from(locale!("und"))); /// ``` /// /// [`DataRequestMetadata`]: icu_provider::DataRequestMetadata |