diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/normal/K_spec.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/functional/normal/K_spec.lua b/test/functional/normal/K_spec.lua new file mode 100644 index 0000000000..dbda6dcb93 --- /dev/null +++ b/test/functional/normal/K_spec.lua @@ -0,0 +1,39 @@ +local helpers = require('test.functional.helpers') +local execute, eq, clear, eval, feed, ok = + helpers.execute, helpers.eq, helpers.clear, helpers.eval, + helpers.feed, helpers.ok + +describe('K', function() + local test_file = 'K_spec_out' + before_each(function() + clear() + os.remove(test_file) + end) + after_each(function() + os.remove(test_file) + end) + + it("invokes colon-prefixed 'keywordprg' as Vim command", function() + helpers.source([[ + let @a='fnord' + set keywordprg=:put]]) + + -- K on the text "a" resolves to `:put a`. + feed('ia<ESC>K') + helpers.expect([[ + a + fnord]]) + end) + + it("invokes non-prefixed 'keywordprg' as shell command", function() + helpers.source([[ + let @a='fnord' + set keywordprg=echo\ fnord\ >>]]) + + -- K on the text "K_spec_out" resolves to `!echo fnord >> K_spec_out`. + feed('i'..test_file..'<ESC>K') + feed('<CR>') -- Press ENTER + eq({'fnord'}, eval("readfile('"..test_file.."')")) + end) + +end) |