From 338c9b33c1e9cd570c69dd48828493822909d586 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 18:10:01 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Add=20unit=20tests=20for=20regis?= =?UTF-8?q?ter=5Fuuid=20in=20stdlib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Tcode-Motion <188012755+Tcode-Motion@users.noreply.github.com> --- stdlib/src/uuid.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/stdlib/src/uuid.rs b/stdlib/src/uuid.rs index 2a3ed70d..d4d032a0 100644 --- a/stdlib/src/uuid.rs +++ b/stdlib/src/uuid.rs @@ -38,3 +38,36 @@ impl StdlibRegistry { ); } } + +#[cfg(test)] +mod tests { + use super::*; + use techscript_runtime::context::{RuntimeConfig, RuntimeContext}; + + #[test] + fn test_register_uuid() { + let mut registry = StdlibRegistry::new(); + registry.register_uuid(); + + let module = registry + .get_module("std.uuid") + .expect("Module std.uuid should be registered"); + assert_eq!(module.name, "std.uuid"); + assert_eq!(module.version, "1.0.0"); + assert!(module.required_capabilities.is_empty()); + assert!(module.exports.contains_key("uuid_v4")); + + let uuid_v4 = module.exports.get("uuid_v4").unwrap(); + assert_eq!(uuid_v4.name(), "uuid_v4"); + assert_eq!(uuid_v4.arity(), 0); + assert!(uuid_v4.accepts_arity(0)); + + let mut ctx = RuntimeContext::new(RuntimeConfig::default()); + let res = uuid_v4.call(&mut ctx, vec![]).unwrap(); + if let RuntimeValue::Str(uuid_str) = res { + assert!(uuid_str.starts_with("123e4567-e89b-12d3-a456-")); + } else { + panic!("Expected RuntimeValue::Str"); + } + } +}