@@ -4,8 +4,8 @@ use std::collections::HashMap;
4
4
use std:: error:: Error as StdError ;
5
5
6
6
use 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 ,
9
9
} ;
10
10
use serde:: { Deserialize , Serialize } ;
11
11
@@ -72,18 +72,30 @@ fn test_serialize() -> Result<(), Box<dyn StdError>> {
72
72
}
73
73
74
74
#[ test]
75
- fn test_serialize_any_userdata ( ) -> Result < ( ) , Box < dyn StdError > > {
75
+ fn test_serialize_any_userdata ( ) {
76
76
let lua = Lua :: new ( ) ;
77
77
78
78
let json_val = serde_json:: json!( {
79
79
"a" : 1 ,
80
80
"b" : "test" ,
81
81
} ) ;
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 ( ) ;
84
84
assert_eq ! ( json_str, "{\n \" a\" : 1,\n \" b\" : \" test\" \n }" ) ;
85
+ }
85
86
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\" }" ) ;
87
99
}
88
100
89
101
#[ test]
0 commit comments