From d63f19ea4f9ab7732e8d14b707d1e1ef6458eb32 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 8 Sep 2026 08:18:20 +0000 Subject: [PATCH] Add tests for `runtime_to_sql_value` in sqlite module Co-authored-by: Tcode-Motion <188012755+Tcode-Motion@users.noreply.github.com> --- stdlib/src/sqlite.rs | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/stdlib/src/sqlite.rs b/stdlib/src/sqlite.rs index c7d8f769..7224a6c9 100644 --- a/stdlib/src/sqlite.rs +++ b/stdlib/src/sqlite.rs @@ -254,3 +254,46 @@ impl StdlibRegistry { ); } } + +#[cfg(test)] +mod tests { + use super::*; + use rusqlite::types::Value; + use std::cell::RefCell; + use std::rc::Rc; + use techscript_runtime::value::RuntimeValue; + + #[test] + fn test_runtime_to_sql_value() { + assert_eq!(runtime_to_sql_value(&RuntimeValue::Null), Value::Null); + assert_eq!( + runtime_to_sql_value(&RuntimeValue::Bool(true)), + Value::Integer(1) + ); + assert_eq!( + runtime_to_sql_value(&RuntimeValue::Bool(false)), + Value::Integer(0) + ); + assert_eq!( + runtime_to_sql_value(&RuntimeValue::Int(42)), + Value::Integer(42) + ); + assert_eq!( + runtime_to_sql_value(&RuntimeValue::Float(3.14)), + Value::Real(3.14) + ); + assert_eq!( + runtime_to_sql_value(&RuntimeValue::Str("test".to_string())), + Value::Text("test".to_string()) + ); + + let list_val = RuntimeValue::List { + items: Rc::new(RefCell::new(vec![RuntimeValue::Int(1)])), + is_const: false, + }; + assert_eq!( + runtime_to_sql_value(&list_val), + Value::Text(list_val.to_string()) + ); + } +}