use rlua::Lua; use rlua_searcher::{AddSearcher, Result}; use std::collections::HashMap; #[test] fn add_searcher_works() { let lume = read_lume_to_string(); let name = "lume".to_string(); let mut map = HashMap::new(); map.insert(name, lume); let lua = Lua::new(); let hello = lua .context::<_, Result>(|lua_ctx| { lua_ctx.add_searcher(map)?; Ok(lua_ctx.load(r#"return require("lume")"#).eval()?) }) .unwrap(); assert_eq!("hello lume", hello); } #[test] fn add_static_searcher_works() { let lume = read_lume_to_str(); let name = "lume".to_string(); let mut map = HashMap::new(); map.insert(name, lume); let lua = Lua::new(); let hello = lua .context::<_, Result>(|lua_ctx| { lua_ctx.add_static_searcher(map)?; Ok(lua_ctx.load(r#"return require("lume")"#).eval()?) }) .unwrap(); assert_eq!("hello lume", hello); } fn read_lume_to_string() -> String { r#"return "hello lume""#.to_string() } fn read_lume_to_str() -> &'static str { r#"return "hello lume""# }