use console::Emoji;
pub const WRENCH: Emoji = Emoji("đ§", "*");
pub const ROCKET: Emoji = Emoji("đ", ">");
pub const CHECKMARK: Emoji = Emoji("â
", "[OK]");
pub const CROSSMARK: Emoji = Emoji("â", "[FAIL]");
pub const HAMMER: Emoji = Emoji("đ¨", ">");
pub const SPARKLES: Emoji = Emoji("â¨", "*");
pub const INFO: Emoji = Emoji("âšī¸", "i");
pub const CHART: Emoji = Emoji("đ", "~");
pub const MICROSCOPE: Emoji = Emoji("đ", ">>");
pub const WARNING: Emoji = Emoji("â ī¸", "!");
pub fn format_bytes(bytes: u64) -> String {
const KB: u64 = 1024;
const MB: u64 = KB * 1024;
if bytes >= MB {
format!("{:.2} MB", bytes as f64 / MB as f64)
} else if bytes >= KB {
format!("{:.2} KB", bytes as f64 / KB as f64)
} else {
format!("{} B", bytes)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_format_bytes_various_sizes() {
assert_eq!(format_bytes(512), "512 B");
assert_eq!(format_bytes(1024), "1.00 KB");
assert_eq!(format_bytes(1536), "1.50 KB");
assert_eq!(format_bytes(1_048_576), "1.00 MB");
assert_eq!(format_bytes(2_621_440), "2.50 MB");
}
}