From 8ce22c63230589c3b185c3193e1c189b975ba7f6 Mon Sep 17 00:00:00 2001 From: Nelson Yeung Date: Sun, 24 May 2015 21:04:51 +0100 Subject: tests: Migrate legacy test 31 #2736 --- test/functional/legacy/031_close_commands_spec.lua | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 test/functional/legacy/031_close_commands_spec.lua (limited to 'test/functional/legacy') diff --git a/test/functional/legacy/031_close_commands_spec.lua b/test/functional/legacy/031_close_commands_spec.lua new file mode 100644 index 0000000000..78e71b5fb1 --- /dev/null +++ b/test/functional/legacy/031_close_commands_spec.lua @@ -0,0 +1,94 @@ +-- Test for commands that close windows and/or buffers +-- :quit +-- :close +-- :hide +-- :only +-- :sall +-- :all +-- :ball +-- :buf +-- :edit + +local helpers = require('test.functional.helpers') +local feed, insert, source = helpers.feed, helpers.insert, helpers.source +local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect + +describe('Commands that close windows and/or buffers', function() + setup(clear) + + it('is working', function() + insert('testtext') + + feed('GA 1:$w! Xtest1') + feed('$r2:$w! Xtest2') + feed('$r3:$w! Xtest3') + execute('n! Xtest1 Xtest2') + feed('A 1:set hidden') + + -- Test for working :n when hidden set + execute('n') + expect('testtext 2') + + -- Test for failing :rew when hidden not set + execute('set nohidden') + feed('A 2:rew') + expect('testtext 2 2') + + -- Test for working :rew when hidden set + execute('set hidden') + execute('rew') + expect('testtext 1 1') + + -- Test for :all keeping a buffer when it's modified + execute('set nohidden') + feed('A 1:sp') + execute('n Xtest2 Xtest3') + execute('all') + execute('1wincmd w') + expect('testtext 1 1 1') + + -- Test abandoning changed buffer, should be unloaded even when 'hidden' set + execute('set hidden') + feed('A 1:q!') + expect('testtext 2 2') + execute('unhide') + expect('testtext 2 2') + + -- Test ":hide" hides anyway when 'hidden' not set + execute('set nohidden') + feed('A 2:hide') + expect('testtext 3') + + -- Test ":edit" failing in modified buffer when 'hidden' not set + feed('A 3:e Xtest1') + expect('testtext 3 3') + + -- Test ":edit" working in modified buffer when 'hidden' set + execute('set hidden') + execute('e Xtest1') + expect('testtext 1') + + -- Test ":close" not hiding when 'hidden' not set in modified buffer + execute('sp Xtest3') + execute('set nohidden') + feed('A 3:close') + expect('testtext 3 3 3') + + -- Test ":close!" does hide when 'hidden' not set in modified buffer + feed('A 3:close!') + execute('set nohidden') + expect('testtext 1') + + -- Test ":all!" hides changed buffer + execute('sp Xtest4') + feed('GA 4:all!') + execute('1wincmd w') + expect('testtext 2 2 2') + end) + + teardown(function() + os.remove('Xtest1') + os.remove('Xtest2') + os.remove('Xtest3') + end) +end) -- cgit