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 | fdbc23fab67129d4764367f5fa4614cc244904b3 (patch) | |
tree | b949b814294559492811672e610d7e8f75954a84 /spec/util_serialization_spec.lua | |
parent | 2801e1f10087b21a7ca8c0a10a11de5ac10c259d (diff) | |
download | prosody-fdbc23fab67129d4764367f5fa4614cc244904b3.tar.gz prosody-fdbc23fab67129d4764367f5fa4614cc244904b3.zip |
util.serialization: Add option for allowing multiple references to the same table (but not cycles)
Diffstat (limited to 'spec/util_serialization_spec.lua')
-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); |