Software /
code /
prosody
Diff
spec/util_queue_spec.lua @ 10411:db2a06b9ff98
Merge 0.11->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 16 Nov 2019 16:52:31 +0100 |
parent | 9901:c8b75239846c |
child | 13558:56e112b890ea |
line wrap: on
line diff
--- a/spec/util_queue_spec.lua Sat Nov 16 16:45:33 2019 +0100 +++ b/spec/util_queue_spec.lua Sat Nov 16 16:52:31 2019 +0100 @@ -100,4 +100,41 @@ end); end); + describe("consume()", function () + it("should work", function () + local q = queue.new(10); + for i = 1, 5 do + q:push(i); + end + local c = 0; + for i in q:consume() do + assert(i == c + 1); + assert(q:count() == (5-i)); + c = i; + end + end); + + it("should work even if items are pushed in the loop", function () + local q = queue.new(10); + for i = 1, 5 do + q:push(i); + end + local c = 0; + for i in q:consume() do + assert(i == c + 1); + if c < 3 then + assert(q:count() == (5-i)); + else + assert(q:count() == (6-i)); + end + + c = i; + + if c == 3 then + q:push(6); + end + end + assert.equal(c, 6); + end); + end); end);