summaryrefslogtreecommitdiff
path: root/lua/tests/automated
diff options
context:
space:
mode:
authorSimon Hauser <Simon-Hauser@outlook.de>2020-12-11 16:48:14 +0100
committerGitHub <noreply@github.com>2020-12-11 16:48:14 +0100
commit6e6fbbc49eee19baeeea85c99aa8fb816fbd25e6 (patch)
treeb7537f8fce4a6f58d0c480e9f3d353c1ea23f93b /lua/tests/automated
parentd5ee177306da9c977734f84ae016726778e1746f (diff)
Fix: scroller for descending (#327)
Diffstat (limited to 'lua/tests/automated')
-rw-r--r--lua/tests/automated/scroller_spec.lua59
1 files changed, 54 insertions, 5 deletions
diff --git a/lua/tests/automated/scroller_spec.lua b/lua/tests/automated/scroller_spec.lua
index 7889573..f47edda 100644
--- a/lua/tests/automated/scroller_spec.lua
+++ b/lua/tests/automated/scroller_spec.lua
@@ -5,8 +5,8 @@ local eq = assert.are.same
describe('scroller', function()
local max_results = 10
- describe('cycle', function()
- local cycle_scroller = p_scroller.create('cycle')
+ describe('ascending cycle', function()
+ local cycle_scroller = p_scroller.create('cycle', 'ascending')
it('should return values within the max results', function()
eq(5, cycle_scroller(max_results, max_results, 5))
@@ -29,8 +29,8 @@ describe('scroller', function()
end)
end)
- describe('other', function()
- local limit_scroller = p_scroller.create('limit')
+ describe('ascending limit', function()
+ local limit_scroller = p_scroller.create('limit', 'ascending')
it('should return values within the max results', function()
eq(5, limit_scroller(max_results, max_results, 5))
@@ -44,7 +44,7 @@ describe('scroller', function()
eq(0, limit_scroller(max_results, max_results, -1))
end)
- it('should cycle you to 0 when you go past the results', function()
+ it('should not cycle you to 0 when you go past the results', function()
eq(max_results - 1, limit_scroller(max_results, max_results, max_results + 1))
end)
@@ -53,4 +53,53 @@ describe('scroller', function()
eq(current - 1, limit_scroller(max_results, current, 7))
end)
end)
+
+ describe('descending cycle', function()
+ local cycle_scroller = p_scroller.create('cycle', 'descending')
+
+ it('should return values within the max results', function()
+ eq(5, cycle_scroller(max_results, max_results, 5))
+ end)
+
+ it('should return max_results - 1 at 0', function()
+ eq(0, cycle_scroller(max_results, max_results, 0))
+ end)
+
+ it('should cycle you to the bot when you go below 0', function()
+ eq(max_results - 1, cycle_scroller(max_results, max_results, -1))
+ end)
+
+ it('should cycle you to 0 when you go past the results', function()
+ eq(0, cycle_scroller(max_results, max_results, max_results + 1))
+ end)
+
+ it('should cycle when current results is less than max_results', function()
+ eq(9, cycle_scroller(max_results, 5, 4))
+ end)
+ end)
+
+ describe('descending limit', function()
+ local limit_scroller = p_scroller.create('limit', 'descending')
+
+ it('should return values within the max results', function()
+ eq(5, limit_scroller(max_results, max_results, 5))
+ end)
+
+ it('should return 0 at 0', function()
+ eq(0, limit_scroller(max_results, max_results, 0))
+ end)
+
+ it('should not cycle', function()
+ eq(0, limit_scroller(max_results, max_results, -1))
+ end)
+
+ it('should not cycle you to 0 when you go past the results', function()
+ eq(max_results - 1, limit_scroller(max_results, max_results, max_results + 1))
+ end)
+
+ it('should stay at current results when current results is less than max_results', function()
+ local current = 5
+ eq(current - 1, limit_scroller(max_results, current, 4))
+ end)
+ end)
end)