From 40ea3f2f5418ab5795e2aa0e73a1206c1d18cc1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Sad=C5=82ocha?= Date: Sat, 20 Jul 2024 11:46:06 +0100 Subject: [PATCH] Fix conversion from `TCStatus::Unknown` (#3561) Before this patch, the messsage would be "unknown TCStatus 4294967295" (i.e. `u32::MAX`) instead of "unknown TCStatus -1". --- src/tc/lib/src/status.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/tc/lib/src/status.rs b/src/tc/lib/src/status.rs index e0d370136..df5332401 100644 --- a/src/tc/lib/src/status.rs +++ b/src/tc/lib/src/status.rs @@ -42,7 +42,7 @@ impl From for Status { TCStatus::Completed => Status::Completed, TCStatus::Deleted => Status::Deleted, TCStatus::Recurring => Status::Recurring, - _ => Status::Unknown(format!("unknown TCStatus {}", status as u32)), + _ => Status::Unknown(format!("unknown TCStatus {}", status as i32)), } } } @@ -58,3 +58,16 @@ impl From for TCStatus { } } } + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn conversion_from_unknown_tc_status_provides_discriminant_in_message() { + let tc_status = TCStatus::Unknown; + let status = Status::from(tc_status); + + assert!(matches!(status, Status::Unknown(msg) if msg == "unknown TCStatus -1")); + } +}