#[cfg(not(feature = "std"))] #[test] fn test_errors_capacity() { use num_format::utils::SeparatorStr; use num_format::{CustomFormat, ErrorKind}; let s = "123456789"; match SeparatorStr::new(s) { Ok(_) => panic!(), Err(e) => match e.kind() { ErrorKind::Capacity { len, cap } => { assert_eq!(*len, 9); assert_eq!(*cap, 8); } _ => panic!(), }, } match CustomFormat::builder().separator(s).build() { Ok(_) => panic!(), Err(e) => match e.kind() { ErrorKind::Capacity { len, cap } => { assert_eq!(*len, 9); assert_eq!(*cap, 8); } _ => panic!(), }, } } #[cfg(feature = "std")] #[test] fn test_errors_capacity() { use num_format::utils::SeparatorStr; use num_format::CustomFormat; let s = "123456789"; match SeparatorStr::new(s) { Ok(_) => panic!(), Err(e) => assert_eq!( "Attempted to write input of length 9 bytes into a buffer with capacity 8 bytes.", &e.to_string(), ), } match CustomFormat::builder().separator(s).build() { Ok(_) => panic!(), Err(e) => assert_eq!( "Attempted to write input of length 9 bytes into a buffer with capacity 8 bytes.", &e.to_string(), ), } } #[cfg(all(feature = "with-system-locale", any(unix, windows)))] #[test] fn test_errors_interior_null_byte() { use std::str; use num_format::SystemLocale; let b = b"Hello\0World"; let s = str::from_utf8(&b[..]).unwrap(); match SystemLocale::from_name(s) { Ok(_) => panic!(), Err(e) => assert_eq!( "Locale name Hello\u{0}World contains an interior nul byte, which is not allowed.", &e.to_string() ), } } #[cfg(not(feature = "std"))] #[test] fn test_errors_parse_locale() { use num_format::{ErrorKind, Locale}; let s = "123456789"; match Locale::from_name(s) { Ok(_) => panic!(), Err(e) => match e.kind() { ErrorKind::ParseLocale(array_string) => assert_eq!(s, array_string.as_str()), _ => panic!(), }, } } #[cfg(feature = "std")] #[test] fn test_errors_parse_locale() { use num_format::Locale; let s = "123456789"; match Locale::from_name(s) { Ok(_) => panic!(), Err(e) => assert_eq!( "Failed to parse 123456789 into a valid locale.", &e.to_string(), ), } } #[cfg(all(feature = "with-system-locale", any(unix, windows)))] #[test] fn test_errors_parse_system_locale() { use num_format::SystemLocale; let s = "123456789"; match SystemLocale::from_name(s) { Ok(_) => panic!(), Err(e) => assert_eq!( "Failed to parse 123456789 into a valid locale.", &e.to_string(), ), } }