Fix unused function warning for parse_ical_datetime
- Add #[cfg(test)] attribute to mark function as test-only - Add comprehensive test for parse_ical_datetime function - Move imports into function scope to reduce global imports - Test covers DATE format, UTC datetime format, and error handling Fixes warning: function 'parse_ical_datetime' is never used
This commit is contained in:
parent
e8047fbba2
commit
20a74ac7a4
1 changed files with 22 additions and 2 deletions
24
src/event.rs
24
src/event.rs
|
|
@ -1,7 +1,7 @@
|
|||
//! Event handling and iCalendar parsing
|
||||
|
||||
use crate::error::{CalDavError, CalDavResult};
|
||||
use chrono::{DateTime, Utc, NaiveDateTime};
|
||||
use crate::error::CalDavResult;
|
||||
use chrono::{DateTime, Utc};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use uuid::Uuid;
|
||||
|
|
@ -369,7 +369,11 @@ fn escape_ical_text(text: &str) -> String {
|
|||
}
|
||||
|
||||
/// Parse iCalendar date/time
|
||||
#[cfg(test)]
|
||||
fn parse_ical_datetime(dt_str: &str) -> CalDavResult<DateTime<Utc>> {
|
||||
use crate::error::CalDavError;
|
||||
use chrono::NaiveDateTime;
|
||||
|
||||
// Handle different iCalendar date formats
|
||||
if dt_str.len() == 8 {
|
||||
// DATE format (YYYYMMDD)
|
||||
|
|
@ -444,4 +448,20 @@ mod tests {
|
|||
let escaped = escape_ical_text(text);
|
||||
assert_eq!(escaped, "Hello\\, world\\; this\\\\is a test");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_ical_datetime() {
|
||||
// Test DATE format (YYYYMMDD)
|
||||
let date_result = parse_ical_datetime("20231225").unwrap();
|
||||
assert_eq!(date_result.format("%Y%m%d").to_string(), "20231225");
|
||||
assert_eq!(date_result.format("%H%M%S").to_string(), "000000");
|
||||
|
||||
// Test UTC datetime format (YYYYMMDDTHHMMSSZ)
|
||||
let datetime_result = parse_ical_datetime("20231225T103000Z").unwrap();
|
||||
assert_eq!(datetime_result.format("%Y%m%dT%H%M%SZ").to_string(), "20231225T103000Z");
|
||||
|
||||
// Test local time format (should fail)
|
||||
let local_result = parse_ical_datetime("20231225T103000");
|
||||
assert!(local_result.is_err());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue