From e0a16c75dcd3416e1f87b79aac5af5c461e05a23 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Fri, 12 Oct 2018 00:13:24 +0200 Subject: util.serialization: Simpler metatable pre-processing It was too difficult to describe what it did. --- spec/util_serialization_spec.lua | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'spec') 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); -- cgit v1.2.3