diff options
author | Kim Alvefur <zash@zash.se> | 2018-10-12 00:13:24 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-10-12 00:13:24 +0200 |
commit | a8b392165a21991c75ca25c8fb6e773943c88963 (patch) | |
tree | 4f5e21721be10dfd4d8f4737a132ed6ddf0dcf28 /spec | |
parent | 86117bb2a23c3deaa2e733f390bb6ebdb49cb33b (diff) | |
download | prosody-a8b392165a21991c75ca25c8fb6e773943c88963.tar.gz prosody-a8b392165a21991c75ca25c8fb6e773943c88963.zip |
util.serialization: Simpler metatable pre-processing
It was too difficult to describe what it did.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/util_serialization_spec.lua | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/spec/util_serialization_spec.lua b/spec/util_serialization_spec.lua index 52075bc2..d22cf738 100644 --- a/spec/util_serialization_spec.lua +++ b/spec/util_serialization_spec.lua @@ -44,6 +44,14 @@ describe("util.serialization", function () test({foo={[100]={{"bar"},{baz=1}}}}); test({["goto"] = {["function"]={["do"]="keywords"}}}); end); + + it("can serialize with metatables", function () + local s = serialization.new({ freeze = true }); + local t = setmetatable({ a = "hi" }, { __freeze = function (t) return { t.a } end }); + local rt = serialization.deserialize(s(t)); + assert.same({"hi"}, rt); + end); + end); end); |