#![cfg(target_arch = "wasm32")]
#![allow(unused_imports)]
use absurder_sql::WasmColumnValue;
use absurder_sql::*;
use wasm_bindgen_test::*;
wasm_bindgen_test_configure!(run_in_browser);
#[wasm_bindgen_test]
fn test_bigint_creation() {
let _big_int = WasmColumnValue::big_int("9007199254740993".to_string());
let _very_large = WasmColumnValue::big_int("123456789012345678901234567890".to_string());
let _negative_large = WasmColumnValue::big_int("-987654321098765432109876543210".to_string());
web_sys::console::log_1(&"BigInt creation test passed".into());
}
#[wasm_bindgen_test]
fn test_date_creation() {
let now = js_sys::Date::now();
let _date_val = WasmColumnValue::date(now);
let fixed_ts = 1692115200000.0; let _fixed_date = WasmColumnValue::date(fixed_ts);
web_sys::console::log_1(&"Date creation test passed".into());
}
#[wasm_bindgen_test]
fn test_mixed_types() {
let _null_val = WasmColumnValue::null();
let _int_val = WasmColumnValue::integer(42.0);
let _real_val = WasmColumnValue::real(3.14159);
let _text_val = WasmColumnValue::text("Hello SQLite".to_string());
let _blob_val = WasmColumnValue::blob(vec![1, 2, 3, 4]);
let _bigint_val = WasmColumnValue::big_int("9007199254740993".to_string());
let _date_val = WasmColumnValue::date(js_sys::Date::now());
web_sys::console::log_1(&"Mixed types test passed".into());
}
#[wasm_bindgen_test]
fn test_basic_compilation() {
let _config = DatabaseConfig::default();
let _error = DatabaseError::new("TEST", "test");
let _value = WasmColumnValue::null();
web_sys::console::log_1(&"Basic compilation test passed".into());
}
#[wasm_bindgen_test]
fn test_from_js_value() {
let _from_null = WasmColumnValue::from_js_value(&wasm_bindgen::JsValue::NULL);
let _from_number = WasmColumnValue::from_js_value(&wasm_bindgen::JsValue::from(123));
let _from_float = WasmColumnValue::from_js_value(&wasm_bindgen::JsValue::from(2.718));
let _from_string = WasmColumnValue::from_js_value(&wasm_bindgen::JsValue::from("Test string"));
let _from_date = WasmColumnValue::from_js_value(&js_sys::Date::new_0().into());
let _from_bigint_str =
WasmColumnValue::from_js_value(&wasm_bindgen::JsValue::from("999999999999999999999"));
web_sys::console::log_1(&"fromJsValue test passed".into());
}
#[wasm_bindgen_test]
fn test_wasm_column_value_creation() {
let tests = vec![
|| WasmColumnValue::null(),
|| WasmColumnValue::integer(42.0),
|| WasmColumnValue::real(3.14159),
|| WasmColumnValue::text("Hello World".to_string()),
|| WasmColumnValue::blob(vec![1, 2, 3, 4]),
|| WasmColumnValue::big_int("9007199254740993".to_string()),
|| WasmColumnValue::date(js_sys::Date::now()),
];
for (i, test_fn) in tests.iter().enumerate() {
test_fn();
web_sys::console::log_1(&format!("Test {} passed", i + 1).into());
}
web_sys::console::log_1(&"WasmColumnValue creation test passed".into());
}