Add test for testing Entry::set_date()
This commit is contained in:
parent
2b3eab31bd
commit
33f700dd1c
1 changed files with 53 additions and 4 deletions
|
@ -44,10 +44,10 @@ pub trait EntryDate {
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
static ref DATE_HEADER_LOCATION : String = String::from("date.value");
|
static ref DATE_HEADER_LOCATION : &'static str = "date.value";
|
||||||
static ref DATE_RANGE_START_HEADER_LOCATION : String = String::from("date.range.start");
|
static ref DATE_RANGE_START_HEADER_LOCATION : &'static str = "date.range.start";
|
||||||
static ref DATE_RANGE_END_HEADER_LOCATION : String = String::from("date.range.end");
|
static ref DATE_RANGE_END_HEADER_LOCATION : &'static str = "date.range.end";
|
||||||
static ref DATE_FMT : &'static str = "%Y-%m-%d %H:%M:%S";
|
static ref DATE_FMT : &'static str = "%Y-%m-%dT%H:%M:%S";
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EntryDate for Entry {
|
impl EntryDate for Entry {
|
||||||
|
@ -208,3 +208,52 @@ impl EntryDate for Entry {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
use libimagstore::store::Store;
|
||||||
|
|
||||||
|
use chrono::naive::datetime::NaiveDateTime;
|
||||||
|
use chrono::naive::date::NaiveDate;
|
||||||
|
use chrono::naive::time::NaiveTime;
|
||||||
|
|
||||||
|
pub fn get_store() -> Store {
|
||||||
|
Store::new(PathBuf::from("/"), None).unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_set_date() {
|
||||||
|
let store = get_store();
|
||||||
|
|
||||||
|
let date = {
|
||||||
|
let date = NaiveDate::from_ymd(2000, 01, 02);
|
||||||
|
let time = NaiveTime::from_hms(03, 04, 05);
|
||||||
|
|
||||||
|
NaiveDateTime::new(date, time)
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut entry = store.create(PathBuf::from("test")).unwrap();
|
||||||
|
let res = entry.set_date(date);
|
||||||
|
|
||||||
|
assert!(res.is_ok(), format!("Error: {:?}", res));
|
||||||
|
let res = res.unwrap();
|
||||||
|
|
||||||
|
assert!(res.is_none()); // There shouldn't be an existing value
|
||||||
|
|
||||||
|
// Check whether the header is set correctly
|
||||||
|
|
||||||
|
let hdr_field = entry.get_header().read(&DATE_HEADER_LOCATION);
|
||||||
|
|
||||||
|
assert!(hdr_field.is_ok());
|
||||||
|
let hdr_field = hdr_field.unwrap();
|
||||||
|
|
||||||
|
match *hdr_field {
|
||||||
|
Value::String(ref s) => assert_eq!("2000-01-02T03:04:05", s),
|
||||||
|
_ => assert!(false, "Wrong header type"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue