aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-10-03 10:46:11 +0200
committerJustin M. Keyes <justinkz@gmail.com>2016-12-09 18:51:17 +0100
commit043f85210a06168e36f103950897e00918504f6f (patch)
tree0559ca04b5a34bb6af6934bca9d3efedeb6ef734 /test
parent5082af415f762e5f5974214e32deff883141bfc2 (diff)
downloadrneovim-043f85210a06168e36f103950897e00918504f6f.tar.gz
rneovim-043f85210a06168e36f103950897e00918504f6f.tar.bz2
rneovim-043f85210a06168e36f103950897e00918504f6f.zip
tui: "backpressure": Drop messages to avoid flooding.
Closes #1234 multiqueue: - Implement multiqueue_size() - Rename MultiQueueItem.parent to MultiQueueItem.parent_item, to avoid confusion with MultiQueue.parent.
Diffstat (limited to 'test')
-rw-r--r--test/unit/multiqueue_spec.lua (renamed from test/unit/queue_spec.lua)21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/unit/queue_spec.lua b/test/unit/multiqueue_spec.lua
index d802367835..c7f8dd8328 100644
--- a/test/unit/queue_spec.lua
+++ b/test/unit/multiqueue_spec.lua
@@ -36,6 +36,27 @@ describe("multiqueue (multi-level event-queue)", function()
put(child3, 'c3i2')
end)
+ it('keeps count of added events', function()
+ eq(3, multiqueue.multiqueue_size(child1))
+ eq(4, multiqueue.multiqueue_size(child2))
+ eq(2, multiqueue.multiqueue_size(child3))
+ end)
+
+ it('keeps count of removed events', function()
+ multiqueue.multiqueue_get(child1)
+ eq(2, multiqueue.multiqueue_size(child1))
+ multiqueue.multiqueue_get(child1)
+ eq(1, multiqueue.multiqueue_size(child1))
+ multiqueue.multiqueue_get(child1)
+ eq(0, multiqueue.multiqueue_size(child1))
+ put(child1, 'c2ixx')
+ eq(1, multiqueue.multiqueue_size(child1))
+ multiqueue.multiqueue_get(child1)
+ eq(0, multiqueue.multiqueue_size(child1))
+ multiqueue.multiqueue_get(child1)
+ eq(0, multiqueue.multiqueue_size(child1))
+ end)
+
it('removing from parent removes from child', function()
eq('c1i1', get(parent))
eq('c1i2', get(parent))