2015-03-06 23:16:44 -06:00
|
|
|
mod builders;
|
2015-10-15 14:07:20 -05:00
|
|
|
mod float;
|
|
|
|
mod num;
|
2014-08-25 08:31:42 -05:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn test_format_flags() {
|
|
|
|
// No residual flags left by pointer formatting
|
|
|
|
let p = "".as_ptr();
|
2015-01-22 19:08:21 -06:00
|
|
|
assert_eq!(format!("{:p} {:x}", p, 16), format!("{:p} 10", p));
|
2015-06-30 21:26:03 -05:00
|
|
|
|
|
|
|
assert_eq!(format!("{: >3}", 'a'), " a");
|
2014-08-25 08:31:42 -05:00
|
|
|
}
|
2016-02-07 16:57:01 -06:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn test_pointer_formats_data_pointer() {
|
|
|
|
let b: &[u8] = b"";
|
|
|
|
let s: &str = "";
|
|
|
|
assert_eq!(format!("{:p}", s), format!("{:p}", s.as_ptr()));
|
|
|
|
assert_eq!(format!("{:p}", b), format!("{:p}", b.as_ptr()));
|
|
|
|
}
|
2017-01-26 21:51:24 -06:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn test_estimated_capacity() {
|
2017-02-01 16:47:03 -06:00
|
|
|
assert_eq!(format_args!("").estimated_capacity(), 0);
|
2017-01-26 21:51:24 -06:00
|
|
|
assert_eq!(format_args!("{}", "").estimated_capacity(), 0);
|
|
|
|
assert_eq!(format_args!("Hello").estimated_capacity(), 5);
|
|
|
|
assert_eq!(format_args!("Hello, {}!", "").estimated_capacity(), 16);
|
2017-02-01 16:47:03 -06:00
|
|
|
assert_eq!(format_args!("{}, hello!", "World").estimated_capacity(), 0);
|
|
|
|
assert_eq!(format_args!("{}. 16-bytes piece", "World").estimated_capacity(), 32);
|
2017-01-26 21:51:24 -06:00
|
|
|
}
|
2020-01-01 13:43:24 -06:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn pad_integral_resets() {
|
|
|
|
struct Bar;
|
|
|
|
|
|
|
|
impl core::fmt::Display for Bar {
|
|
|
|
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
|
|
|
|
"1".fmt(f)?;
|
|
|
|
f.pad_integral(true, "", "5")?;
|
|
|
|
"1".fmt(f)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
assert_eq!(format!("{:<03}", Bar), "1 0051 ");
|
|
|
|
}
|