From e0e4825897cdfcd2d125240321ec2980a40f7951 Mon Sep 17 00:00:00 2001 From: Matthew Malcomson Date: Tue, 3 Jan 2017 21:10:38 +0000 Subject: Don't set b_u_curhead in ex_undojoin() vim-patch:8.0.0205 This provides no benefit, and introduces some bugs. --- test/functional/ex_cmds/undojoin_spec.lua | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/functional/ex_cmds/undojoin_spec.lua (limited to 'test') diff --git a/test/functional/ex_cmds/undojoin_spec.lua b/test/functional/ex_cmds/undojoin_spec.lua new file mode 100644 index 0000000000..ba1e46ceb3 --- /dev/null +++ b/test/functional/ex_cmds/undojoin_spec.lua @@ -0,0 +1,38 @@ +local helpers = require('test.functional.helpers')(after_each) + +local eq = helpers.eq +local clear = helpers.clear +local insert = helpers.insert +local feed = helpers.feed +local expect = helpers.expect +local execute = helpers.execute +local exc_exec = helpers.exc_exec + +describe(':undojoin command', function() + before_each(function() + clear() + insert([[ + Line of text 1 + Line of text 2]]) + execute('goto 1') + end) + it('joins changes in a buffer', function() + execute('undojoin | delete') + expect([[ + Line of text 2]]) + feed('u') + expect([[ + ]]) + end) + it('does not corrupt undolist when connected with redo', function() + feed('ixx') + execute('undojoin | redo') + expect([[ + xxLine of text 1 + Line of text 2]]) + end) + it('does not raise an error when called twice', function() + local ret = exc_exec('undojoin | undojoin') + eq(0, ret) + end) +end) -- cgit