Software /
code /
prosody
Comparison
spec/util_cache_spec.lua @ 11366:618ab9bba1c2
util.cache: Add test for :table (fails on Lua 5.1)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 05 Feb 2021 16:14:06 +0100 |
parent | 9323:3259653512e7 |
child | 12571:c4337ff4f1c4 |
comparison
equal
deleted
inserted
replaced
11365:5eb817cdd5cd | 11366:618ab9bba1c2 |
---|---|
309 assert.are.equal(c5:set("e", 5), true); -- "b" evicted (cb returned true) | 309 assert.are.equal(c5:set("e", 5), true); -- "b" evicted (cb returned true) |
310 assert.are.equal(c5:set("f", 6), false); -- "c" won't evict (cb returned false) | 310 assert.are.equal(c5:set("f", 6), false); -- "c" won't evict (cb returned false) |
311 | 311 |
312 expect_kv("e", 5, c5:head()); | 312 expect_kv("e", 5, c5:head()); |
313 expect_kv("c", 3, c5:tail()); | 313 expect_kv("c", 3, c5:tail()); |
314 | |
315 end); | |
316 | |
317 (_VERSION=="Lua 5.1" and pending or it)(":table works", function () | |
318 local t = cache.new(3):table(); | |
319 assert.is.table(t); | |
320 t["a"] = "1"; | |
321 assert.are.equal(t["a"], "1"); | |
322 t["b"] = "2"; | |
323 assert.are.equal(t["b"], "2"); | |
324 t["c"] = "3"; | |
325 assert.are.equal(t["c"], "3"); | |
326 t["d"] = "4"; | |
327 assert.are.equal(t["d"], "4"); | |
328 assert.are.equal(t["a"], nil); | |
329 | |
330 local i = spy.new(function () end); | |
331 for k, v in pairs(t) do | |
332 i(k,v) | |
333 end | |
334 assert.spy(i).was_called(); | |
335 assert.spy(i).was_called_with("b", "2"); | |
336 assert.spy(i).was_called_with("c", "3"); | |
337 assert.spy(i).was_called_with("d", "4"); | |
314 end); | 338 end); |
315 end); | 339 end); |
316 end); | 340 end); |