# HG changeset patch # User Kim Alvefur <zash@zash.se> # Date 1612538046 -3600 # Node ID 618ab9bba1c20119c41a83a0a8a9898ee3dac2b4 # Parent 5eb817cdd5cd151d9f11506996dfa3d7a08da813 util.cache: Add test for :table (fails on Lua 5.1) diff -r 5eb817cdd5cd -r 618ab9bba1c2 spec/util_cache_spec.lua --- a/spec/util_cache_spec.lua Fri Feb 05 15:52:46 2021 +0100 +++ b/spec/util_cache_spec.lua Fri Feb 05 16:14:06 2021 +0100 @@ -311,6 +311,30 @@ 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);