aboutsummaryrefslogtreecommitdiff
path: root/test/lua/map-basic.lua
diff options
context:
space:
mode:
authorRandy Palamar <randy@rnpnr.xyz>2024-05-21 19:53:22 -0600
committerRandy Palamar <randy@rnpnr.xyz>2024-05-21 19:53:22 -0600
commitb7074021b7bfb0932b889b9560dd22df31cef818 (patch)
tree0295b18de8fb8ea5289cbda95675687ae06025ff /test/lua/map-basic.lua
parentb7f8018a00be930e3f2b864949aec1f91291309c (diff)
parentefafa3c178268a4149fc3e432bc1174a013c16de (diff)
downloadvis-b7074021b7bfb0932b889b9560dd22df31cef818.tar.gz
vis-b7074021b7bfb0932b889b9560dd22df31cef818.tar.xz
Merge vis-tests into test directory
Going forward all tests should be submitted here directly.
Diffstat (limited to 'test/lua/map-basic.lua')
-rw-r--r--test/lua/map-basic.lua65
1 files changed, 65 insertions, 0 deletions
diff --git a/test/lua/map-basic.lua b/test/lua/map-basic.lua
new file mode 100644
index 0000000..b0ce941
--- /dev/null
+++ b/test/lua/map-basic.lua
@@ -0,0 +1,65 @@
+require 'busted.runner'()
+
+vis:map(vis.modes.NORMAL, "K", function()
+ vis:feedkeys("iNormal Mode<Escape>")
+end)
+
+vis:map(vis.modes.INSERT, "K", function()
+ vis:feedkeys("Insert Mode<Escape>")
+end)
+
+vis:map(vis.modes.VISUAL, "K", function()
+ vis:feedkeys("<Escape>iVisual Mode<Escape>")
+end)
+
+vis:map(vis.modes.VISUAL_LINE, "K", function()
+ vis:feedkeys("<Escape>iVisual Line Mode<Escape>")
+end)
+
+vis:map(vis.modes.REPLACE, "K", function()
+ vis:feedkeys("Replace Mode<Escape>")
+end)
+
+local win = vis.win
+local file = win.file
+
+describe("map", function()
+
+ before_each(function()
+ win.selection.pos = 0
+ end)
+
+ after_each(function()
+ file:delete(0, file.size)
+ end)
+
+ local same = function(expected)
+ local data = file:content(0, file.size)
+ assert.are.same(expected, data)
+ end
+
+ it("normal mode", function()
+ vis:feedkeys("K")
+ same("Normal Mode")
+ end)
+
+ it("insert mode", function()
+ vis:feedkeys("iK")
+ same("Insert Mode")
+ end)
+
+ it("visual mode", function()
+ vis:feedkeys("vK")
+ same("Visual Mode")
+ end)
+
+ it("visual line mode", function()
+ vis:feedkeys("VK")
+ same("Visual Line Mode")
+ end)
+
+ it("replace mode", function()
+ vis:feedkeys("RK")
+ same("Replace Mode")
+ end)
+end)