aboutsummaryrefslogtreecommitdiff
path: root/test/functional/options/pastetoggle_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/options/pastetoggle_spec.lua')
-rw-r--r--test/functional/options/pastetoggle_spec.lua40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/functional/options/pastetoggle_spec.lua b/test/functional/options/pastetoggle_spec.lua
new file mode 100644
index 0000000000..a1f86f73ff
--- /dev/null
+++ b/test/functional/options/pastetoggle_spec.lua
@@ -0,0 +1,40 @@
+local helpers = require('test.functional.helpers')(after_each)
+
+local clear = helpers.clear
+local feed = helpers.feed
+local command = helpers.command
+local eq = helpers.eq
+local eval = helpers.eval
+local sleep = helpers.sleep
+local expect = helpers.expect
+
+describe("'pastetoggle' option", function()
+ before_each(function()
+ clear()
+ command('set nopaste')
+ end)
+
+ it("toggles 'paste'", function()
+ command('set pastetoggle=a')
+ eq(0, eval('&paste'))
+ feed('a')
+ -- Need another key so that the vgetorpeek() function returns.
+ feed('j')
+ eq(1, eval('&paste'))
+ end)
+
+
+ it('does not wait for timeout', function()
+ command('set pastetoggle=abc')
+ command('set ttimeoutlen=9999999')
+ eq(0, eval('&paste'))
+ -- n.b. need <esc> to return from vgetorpeek()
+ feed('abc<esc>')
+ eq(1, eval('&paste'))
+ feed('ab')
+ sleep(10)
+ feed('c<esc>')
+ expect('bc')
+ eq(1, eval('&paste'))
+ end)
+end)