# HG changeset patch # User Simon Sapin # Date 2021-02-17 19:40:19 # Node ID 1b7c0b10d93015d99bffd884015be2a4d61b5640 # Parent a687a7f27951a0955684b2eaa5177a3997d539b9 rust: Add some unit tests for parse_byte_size in config Differential Revision: https://phab.mercurial-scm.org/D10022 diff --git a/rust/hg-core/src/config/values.rs b/rust/hg-core/src/config/values.rs --- a/rust/hg-core/src/config/values.rs +++ b/rust/hg-core/src/config/values.rs @@ -41,3 +41,21 @@ pub(super) fn parse_byte_size(value: &[u } value.parse().ok() } + +#[test] +fn test_parse_byte_size() { + assert_eq!(parse_byte_size(b""), None); + assert_eq!(parse_byte_size(b"b"), None); + + assert_eq!(parse_byte_size(b"12"), Some(12)); + assert_eq!(parse_byte_size(b"12b"), Some(12)); + assert_eq!(parse_byte_size(b"12 b"), Some(12)); + assert_eq!(parse_byte_size(b"12.1 b"), Some(12)); + assert_eq!(parse_byte_size(b"1.1 K"), Some(1126)); + assert_eq!(parse_byte_size(b"1.1 kB"), Some(1126)); + + assert_eq!(parse_byte_size(b"-12 b"), None); + assert_eq!(parse_byte_size(b"-0.1 b"), None); + assert_eq!(parse_byte_size(b"0.1 b"), Some(0)); + assert_eq!(parse_byte_size(b"12.1 b"), Some(12)); +}