@@ -4,8 +4,8 @@ use std::collections::HashMap;
44use std:: error:: Error as StdError ;
55
66use mlua:: {
7- DeserializeOptions , Error , ExternalResult , Lua , LuaSerdeExt , Result as LuaResult , SerializeOptions ,
8- UserData , Value ,
7+ AnyUserData , DeserializeOptions , Error , ExternalResult , IntoLua , Lua , LuaSerdeExt , Result as LuaResult ,
8+ SerializeOptions , UserData , Value ,
99} ;
1010use serde:: { Deserialize , Serialize } ;
1111
@@ -72,18 +72,30 @@ fn test_serialize() -> Result<(), Box<dyn StdError>> {
7272}
7373
7474#[ test]
75- fn test_serialize_any_userdata ( ) -> Result < ( ) , Box < dyn StdError > > {
75+ fn test_serialize_any_userdata ( ) {
7676 let lua = Lua :: new ( ) ;
7777
7878 let json_val = serde_json:: json!( {
7979 "a" : 1 ,
8080 "b" : "test" ,
8181 } ) ;
82- let json_ud = lua. create_ser_any_userdata ( json_val) ? ;
83- let json_str = serde_json:: to_string_pretty ( & json_ud) ? ;
82+ let json_ud = lua. create_ser_any_userdata ( json_val) . unwrap ( ) ;
83+ let json_str = serde_json:: to_string_pretty ( & json_ud) . unwrap ( ) ;
8484 assert_eq ! ( json_str, "{\n \" a\" : 1,\n \" b\" : \" test\" \n }" ) ;
85+ }
8586
86- Ok ( ( ) )
87+ #[ test]
88+ fn test_serialize_wrapped_any_userdata ( ) {
89+ let lua = Lua :: new ( ) ;
90+
91+ let json_val = serde_json:: json!( {
92+ "a" : 1 ,
93+ "b" : "test" ,
94+ } ) ;
95+ let ud = AnyUserData :: wrap_ser ( json_val) ;
96+ let json_ud = ud. into_lua ( & lua) . unwrap ( ) ;
97+ let json_str = serde_json:: to_string ( & json_ud) . unwrap ( ) ;
98+ assert_eq ! ( json_str, "{\" a\" :1,\" b\" :\" test\" }" ) ;
8799}
88100
89101#[ test]
0 commit comments