From 3a178d6d17257778a6df0b2e44a8a4a12e807580 Mon Sep 17 00:00:00 2001 From: gwenn Date: Thu, 22 Nov 2018 16:43:19 +0100 Subject: [PATCH] Check chrono FromSql implementations Make sure SQLite built-in CURRENT_DATE/TIME/TIMESTAMP output is supported. --- src/types/chrono.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/types/chrono.rs b/src/types/chrono.rs index f5a8cbc..2835f92 100644 --- a/src/types/chrono.rs +++ b/src/types/chrono.rs @@ -132,7 +132,7 @@ mod test { use super::chrono::{ DateTime, Duration, Local, NaiveDate, NaiveDateTime, NaiveTime, TimeZone, Utc, }; - use {Connection, NO_PARAMS}; + use {Connection, Result, NO_PARAMS}; fn checked_memory_handle() -> Connection { let db = Connection::open_in_memory().unwrap(); @@ -263,4 +263,21 @@ mod test { .unwrap(); assert_eq!(local, v); } + + #[test] + fn test_sqlite_functions() { + let db = checked_memory_handle(); + let result: Result = + db.query_row("SELECT CURRENT_TIME", NO_PARAMS, |r| r.get(0)); + assert!(result.is_ok()); + let result: Result = + db.query_row("SELECT CURRENT_DATE", NO_PARAMS, |r| r.get(0)); + assert!(result.is_ok()); + let result: Result = + db.query_row("SELECT CURRENT_TIMESTAMP", NO_PARAMS, |r| r.get(0)); + assert!(result.is_ok()); + let result: Result> = + db.query_row("SELECT CURRENT_TIMESTAMP", NO_PARAMS, |r| r.get(0)); + assert!(result.is_ok()); + } }