|
1 | 1 | use fluent_bundle::resolver::Scope;
|
2 | 2 | use fluent_bundle::types::{
|
3 |
| - FluentNumber, FluentNumberCurrencyDisplayStyle, FluentNumberOptions, FluentNumberStyle, FluentNumberUseGrouping, |
| 3 | + FluentNumber, FluentNumberCurrencyDisplayStyle, FluentNumberOptions, FluentNumberStyle, |
| 4 | + FluentNumberUseGrouping, |
4 | 5 | };
|
5 | 6 | use fluent_bundle::FluentArgs;
|
6 | 7 | use fluent_bundle::FluentBundle;
|
@@ -154,3 +155,24 @@ fn fluent_number_to_operands() {
|
154 | 155 | }
|
155 | 156 | );
|
156 | 157 | }
|
| 158 | + |
| 159 | +#[test] |
| 160 | +fn fluent_number_grouping() { |
| 161 | + let langid_ars = langid!("ccp"); |
| 162 | + let mut bundle: FluentBundle<FluentResource> = FluentBundle::new(vec![langid_ars]); |
| 163 | + bundle.set_number_format_provider(Box::new(icu_testdata::unstable_no_fallback())); |
| 164 | + |
| 165 | + let mut number = FluentNumber::from(1234567890.1234567); |
| 166 | + |
| 167 | + number.options.use_grouping = FluentNumberUseGrouping::False; |
| 168 | + let no_grouping = number.as_string(&bundle); |
| 169 | + assert_eq!(no_grouping, "π·πΈπΉπΊπ»πΌπ½πΎπΏπΆ.π·πΈπΉπΊπ»πΌπ½"); |
| 170 | + |
| 171 | + number.options.use_grouping = FluentNumberUseGrouping::Min2; |
| 172 | + let long = number.as_string(&bundle); |
| 173 | + assert_eq!(long, "π·,πΈπΉ,πΊπ»,πΌπ½,πΎπΏπΆ.π·πΈπΉπΊπ»πΌπ½"); |
| 174 | + |
| 175 | + number.value = -1234.0; |
| 176 | + let short = number.as_string(&bundle); |
| 177 | + assert_eq!(short, "-π·πΈπΉπΊ"); |
| 178 | +} |
0 commit comments