123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- use js_sys::*;
- use wasm_bindgen::{JsCast, JsValue};
- use wasm_bindgen_test::*;
- #[wasm_bindgen_test]
- fn get_canonical_locales() {
- let locales = Array::new();
- locales.push(&"EN-US".into());
- locales.push(&"Fr".into());
- let locales = JsValue::from(locales);
- let canonical_locales = Intl::get_canonical_locales(&locales);
- assert_eq!(canonical_locales.length(), 2);
- canonical_locales.for_each(&mut |l, i, _| {
- if i == 0 {
- assert_eq!(l, "en-US");
- } else {
- assert_eq!(l, "fr");
- }
- });
- let canonical_locales = Intl::get_canonical_locales(&"EN-US".into());
- assert_eq!(canonical_locales.length(), 1);
- canonical_locales.for_each(&mut |l, _, _| {
- assert_eq!(l, "en-US");
- });
- }
- #[wasm_bindgen_test]
- fn collator() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let c = Intl::Collator::new(&locales, &opts);
- assert!(c.compare().is_instance_of::<Function>());
- assert!(c.resolved_options().is_instance_of::<Object>());
- let a = Intl::Collator::supported_locales_of(&locales, &opts);
- assert!(a.is_instance_of::<Array>());
- }
- #[wasm_bindgen_test]
- fn collator_inheritance() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let c = Intl::Collator::new(&locales, &opts);
- assert!(c.is_instance_of::<Intl::Collator>());
- assert!(c.is_instance_of::<Object>());
- let _: &Object = c.as_ref();
- }
- #[wasm_bindgen_test]
- fn date_time_format() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let epoch = Date::new(&JsValue::from(0));
- let c = Intl::DateTimeFormat::new(&locales, &opts);
- assert!(c.format().is_instance_of::<Function>());
- assert!(c.format_to_parts(&epoch).is_instance_of::<Array>());
- assert!(c.resolved_options().is_instance_of::<Object>());
- let a = Intl::DateTimeFormat::supported_locales_of(&locales, &opts);
- assert!(a.is_instance_of::<Array>());
- }
- #[wasm_bindgen_test]
- fn date_time_format_inheritance() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let c = Intl::DateTimeFormat::new(&locales, &opts);
- assert!(c.is_instance_of::<Intl::DateTimeFormat>());
- assert!(c.is_instance_of::<Object>());
- let _: &Object = c.as_ref();
- }
- #[wasm_bindgen_test]
- fn number_format() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let n = Intl::NumberFormat::new(&locales, &opts);
- assert!(n.format().is_instance_of::<Function>());
- assert!(n.format_to_parts(42.5).is_instance_of::<Array>());
- assert!(n.resolved_options().is_instance_of::<Object>());
- let a = Intl::NumberFormat::supported_locales_of(&locales, &opts);
- assert!(a.is_instance_of::<Array>());
- }
- #[wasm_bindgen_test]
- fn number_format_inheritance() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let n = Intl::NumberFormat::new(&locales, &opts);
- assert!(n.is_instance_of::<Intl::NumberFormat>());
- assert!(n.is_instance_of::<Object>());
- let _: &Object = n.as_ref();
- }
- #[wasm_bindgen_test]
- fn plural_rules() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let r = Intl::PluralRules::new(&locales, &opts);
- assert!(r.resolved_options().is_instance_of::<Object>());
- assert_eq!(r.select(1_f64), "one");
- let a = Intl::PluralRules::supported_locales_of(&locales, &opts);
- assert!(a.is_instance_of::<Array>());
- }
- #[wasm_bindgen_test]
- fn plural_rules_inheritance() {
- let locales = Array::of1(&JsValue::from("en-US"));
- let opts = Object::new();
- let r = Intl::PluralRules::new(&locales, &opts);
- assert!(r.is_instance_of::<Intl::PluralRules>());
- assert!(r.is_instance_of::<Object>());
- let _: &Object = r.as_ref();
- }
|