From 743d7000f20bfc70cb9c445bcc8a32fa2392ebbb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Nov 2023 20:58:52 +0000 Subject: [PATCH 1/3] Bump byte-unit from 4.0.19 to 5.0.3 Bumps [byte-unit](https://github.com/magiclen/byte-unit) from 4.0.19 to 5.0.3. - [Commits](https://github.com/magiclen/byte-unit/compare/v4.0.19...v5.0.3) --- updated-dependencies: - dependency-name: byte-unit dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- Cargo.lock | 15 +++++++++++++-- Cargo.toml | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c428f1b4c..a91bdaed8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -255,10 +255,11 @@ checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "byte-unit" -version = "4.0.19" +version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +checksum = "bc40af92e0f7f964b7ab1ebc81315cce78fc484802d534143321c956f58d7be3" dependencies = [ + "rust_decimal", "serde", "utf8-width", ] @@ -3061,6 +3062,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "rust_decimal" +version = "1.33.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4" +dependencies = [ + "arrayvec", + "num-traits", +] + [[package]] name = "rustc-demangle" version = "0.1.23" diff --git a/Cargo.toml b/Cargo.toml index f68414684..a08608b52 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ strum = { version = "0.25.0", features = ["derive"] } [dependencies] anyhow.workspace = true askalono = "0.4.6" -byte-unit = "4.0.19" +byte-unit = "5.0.3" bytecount = "0.6.7" clap.workspace = true clap_complete = "4.4.4" From 588368f91b4809d2ad4be84dc09e60884bae753e Mon Sep 17 00:00:00 2001 From: o2sh Date: Wed, 29 Nov 2023 10:34:31 +0100 Subject: [PATCH 2/3] fix --- src/info/size.rs | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/info/size.rs b/src/info/size.rs index 185f5d940..30ee60fb4 100644 --- a/src/info/size.rs +++ b/src/info/size.rs @@ -2,7 +2,7 @@ use crate::{ cli::NumberSeparator, info::utils::{format_number, info_field::InfoField}, }; -use byte_unit::Byte; +use byte_unit::{Byte, UnitType}; use gix::Repository; use serde::Serialize; @@ -29,7 +29,7 @@ impl SizeInfo { fn get_repo_size(repo: &Repository) -> (String, u64) { let (repo_size, file_count) = match repo.index() { Ok(index) => { - let repo_size = index.entries().iter().map(|e| e.stat.size as u128).sum(); + let repo_size = index.entries().iter().map(|e| e.stat.size as u64).sum(); (repo_size, index.entries().len() as u64) } _ => (0, 0), @@ -38,9 +38,9 @@ fn get_repo_size(repo: &Repository) -> (String, u64) { (bytes_to_human_readable(repo_size), file_count) } -fn bytes_to_human_readable(bytes: u128) -> String { - let byte = Byte::from_bytes(bytes); - byte.get_appropriate_unit(true).to_string() +fn bytes_to_human_readable(bytes: u64) -> String { + let byte = Byte::from_u64(bytes); + byte.get_appropriate_unit(UnitType::Binary).to_string() } impl std::fmt::Display for SizeInfo { @@ -72,6 +72,8 @@ impl InfoField for SizeInfo { #[cfg(test)] mod test { + use rstest::rstest; + use super::*; #[test] @@ -106,4 +108,17 @@ mod test { assert_eq!(size_info.value(), "2.40 MiB (1 file)".to_string()); } + + #[rstest(input, expected, + case(0, "0 B"), + case(1023, "1023 B"), + case(1024, "1 KiB"), + case(2048, "2 KiB"), + case(1048576, "1 MiB"), + case(1099511627776, "1 TiB"), + // Add more test cases as needed + )] + fn test_bytes_to_human_readable(input: u64, expected: &str) { + assert_eq!(bytes_to_human_readable(input), expected); + } } From 45bc6ba415c78e105dd47575e85e2d334e720fe9 Mon Sep 17 00:00:00 2001 From: o2sh Date: Wed, 29 Nov 2023 10:41:06 +0100 Subject: [PATCH 3/3] bump --- src/info/size.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/info/size.rs b/src/info/size.rs index 30ee60fb4..295ae8057 100644 --- a/src/info/size.rs +++ b/src/info/size.rs @@ -109,7 +109,7 @@ mod test { assert_eq!(size_info.value(), "2.40 MiB (1 file)".to_string()); } - #[rstest(input, expected, + #[rstest( case(0, "0 B"), case(1023, "1023 B"), case(1024, "1 KiB"), @@ -118,7 +118,7 @@ mod test { case(1099511627776, "1 TiB"), // Add more test cases as needed )] - fn test_bytes_to_human_readable(input: u64, expected: &str) { + fn test_bytes_to_human_readable(#[case] input: u64, #[case] expected: &str) { assert_eq!(bytes_to_human_readable(input), expected); } }