From fdacac857f8e2f0eb7307a2a8a7b81d18e1bb5af Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Fri, 5 Feb 2021 16:14:06 +0100 Subject: util.cache: Add test for :table (fails on Lua 5.1) --- spec/util_cache_spec.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/spec/util_cache_spec.lua b/spec/util_cache_spec.lua index 15e86ee9..d57e25ac 100644 --- a/spec/util_cache_spec.lua +++ b/spec/util_cache_spec.lua @@ -311,6 +311,30 @@ describe("util.cache", function() expect_kv("e", 5, c5:head()); expect_kv("c", 3, c5:tail()); + + end); + + (_VERSION=="Lua 5.1" and pending or it)(":table works", function () + local t = cache.new(3):table(); + assert.is.table(t); + t["a"] = "1"; + assert.are.equal(t["a"], "1"); + t["b"] = "2"; + assert.are.equal(t["b"], "2"); + t["c"] = "3"; + assert.are.equal(t["c"], "3"); + t["d"] = "4"; + assert.are.equal(t["d"], "4"); + assert.are.equal(t["a"], nil); + + local i = spy.new(function () end); + for k, v in pairs(t) do + i(k,v) + end + assert.spy(i).was_called(); + assert.spy(i).was_called_with("b", "2"); + assert.spy(i).was_called_with("c", "3"); + assert.spy(i).was_called_with("d", "4"); end); end); end); -- cgit v1.2.3