uni_core/primitives/
space.rs1use crate::interpreter::Interpreter;
4use crate::value::RuntimeError;
5
6pub fn space_builtin(interp: &mut Interpreter) -> Result<(), RuntimeError> {
10 let _ = interp.write_str(" ");
11 Ok(())
12}
13
14#[cfg(test)]
15mod tests {
16 use super::*;
17
18 fn setup_interpreter() -> Interpreter {
19 Interpreter::new()
20 }
21
22 #[test]
23 fn test_space_basic() {
24 let mut interp = setup_interpreter();
25
26 let result = space_builtin(&mut interp);
28 assert!(result.is_ok());
29
30 assert!(interp.stack.is_empty());
32 }
33
34 #[test]
35 fn test_space_with_values_on_stack() {
36 let mut interp = setup_interpreter();
37
38 interp.push(crate::value::Value::Int32(42));
40 interp.push(crate::value::Value::Int32(100));
41
42 space_builtin(&mut interp).unwrap();
44
45 assert_eq!(interp.stack.len(), 2);
46 }
47}