Software /
code /
prosody
Diff
spec/util_serialization_spec.lua @ 9485:c667887d78ad
util.serialization: Simpler metatable pre-processing
It was too difficult to describe what it did.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 12 Oct 2018 00:13:24 +0200 |
parent | 9482:8791bfa3984a |
child | 9566:dad29508d0f2 |
line wrap: on
line diff
--- a/spec/util_serialization_spec.lua Thu Oct 11 23:00:45 2018 +0200 +++ b/spec/util_serialization_spec.lua Fri Oct 12 00:13:24 2018 +0200 @@ -44,6 +44,14 @@ 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);