diff options
author | Kim Alvefur <zash@zash.se> | 2018-10-27 12:43:03 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-10-27 12:43:03 +0200 |
commit | 193fda720d9de174a5c72d126a97dd6fa8d881fc (patch) | |
tree | b949b814294559492811672e610d7e8f75954a84 /spec | |
parent | a514bddb4418788111db175048628b0b91fff40c (diff) | |
download | prosody-193fda720d9de174a5c72d126a97dd6fa8d881fc.tar.gz prosody-193fda720d9de174a5c72d126a97dd6fa8d881fc.zip |
util.serialization: Add option for allowing multiple references to the same table (but not cycles)
Diffstat (limited to 'spec')
-rw-r--r-- | spec/util_serialization_spec.lua | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/spec/util_serialization_spec.lua b/spec/util_serialization_spec.lua index e73ca826..2af5d803 100644 --- a/spec/util_serialization_spec.lua +++ b/spec/util_serialization_spec.lua @@ -25,13 +25,27 @@ describe("util.serialization", function () t[t] = { t }; serialization.serialize(t) end); + -- also with multirefs allowed + assert.has_error(function () + local t = {} + t[t] = { t }; + serialization.serialize(t, { multirefs = true }) + end); end); it("rejects multiple references to same table", function () assert.has_error(function () local t1 = {}; local t2 = { t1, t1 }; - serialization.serialize(t2); + serialization.serialize(t2, { multirefs = false }); + end); + end); + + it("optionally allows multiple references to same table", function () + assert.has_error(function () + local t1 = {}; + local t2 = { t1, t1 }; + serialization.serialize(t2, { multirefs = true }); end); end); |