diff options
author | Nelson Yeung <nelsyeung@icloud.com> | 2015-05-24 21:04:51 +0100 |
---|---|---|
committer | Florian Walch <florian@fwalch.com> | 2015-05-25 15:47:12 +0300 |
commit | 8ce22c63230589c3b185c3193e1c189b975ba7f6 (patch) | |
tree | 3fc2d29ad9b4667d7235b00c43712119c4ffd7c8 | |
parent | d9f97e3026983863d70cbae670bf8277143c8434 (diff) | |
download | rneovim-8ce22c63230589c3b185c3193e1c189b975ba7f6.tar.gz rneovim-8ce22c63230589c3b185c3193e1c189b975ba7f6.tar.bz2 rneovim-8ce22c63230589c3b185c3193e1c189b975ba7f6.zip |
tests: Migrate legacy test 31 #2736
-rw-r--r-- | src/nvim/testdir/Makefile | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test31.in | 75 | ||||
-rw-r--r-- | src/nvim/testdir/test31.ok | 12 | ||||
-rw-r--r-- | test/functional/legacy/031_close_commands_spec.lua | 94 |
4 files changed, 95 insertions, 88 deletions
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index ee3eb89bd8..6ff3763fd4 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -15,7 +15,7 @@ SCRIPTS := test_autoformat_join.out \ test17.out \ test24.out \ test26.out test27.out test29.out test30.out \ - test31.out test32.out test34.out \ + test32.out test34.out \ test36.out test37.out test39.out test40.out \ test42.out test43.out test45.out \ test46.out test47.out test48.out test49.out \ diff --git a/src/nvim/testdir/test31.in b/src/nvim/testdir/test31.in deleted file mode 100644 index 7dc2334781..0000000000 --- a/src/nvim/testdir/test31.in +++ /dev/null @@ -1,75 +0,0 @@ -Test for commands that close windows and/or buffers: -:quit -:close -:hide -:only -:sall -:all -:ball -:buf -:edit - -STARTTEST -:so tiny.vim -GA 1:$w! Xtest1 -$r2:$w! Xtest2 -$r3:$w! Xtest3 -:n! Xtest1 Xtest2 -A 1:set hidden -:" test for working :n when hidden set; write "testtext 2" -:n -:w! test.out -:" test for failing :rew when hidden not set; write "testtext 2 2" -:set nohidden -A 2:rew -:w >>test.out -:" test for working :rew when hidden set; write "testtext 1 1" -:set hidden -:rew -:w >>test.out -:" test for :all keeping a buffer when it's modified; write "testtext 1 1 1" -:set nohidden -A 1:sp -:n Xtest2 Xtest3 -:all -:1wincmd w -:w >>test.out -:" test abandoning changed buffer, should be unloaded even when 'hidden' set -:" write "testtext 2 2" twice -:set hidden -A 1:q! -:w >>test.out -:unhide -:w >>test.out -:" test ":hide" hides anyway when 'hidden' not set; write "testtext 3" -:set nohidden -A 2:hide -:w >>test.out -:" test ":edit" failing in modified buffer when 'hidden' not set -:" write "testtext 3 3" -A 3:e Xtest1 -:w >>test.out -:" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1" -:set hidden -:e Xtest1 -:w >>test.out -:" test ":close" not hiding when 'hidden' not set in modified buffer; -:" write "testtext 3 3 3" -:sp Xtest3 -:set nohidden -A 3:close -:w >>test.out -:" test ":close!" does hide when 'hidden' not set in modified buffer; -:" write "testtext 1" -A 3:close! -:w >>test.out -:set nohidden -:" test ":all!" hides changed buffer; write "testtext 2 2 2" -:sp Xtest4 -GA 4:all! -:1wincmd w -:w >>test.out -:qa! -ENDTEST - -testtext diff --git a/src/nvim/testdir/test31.ok b/src/nvim/testdir/test31.ok deleted file mode 100644 index 185bdc768e..0000000000 --- a/src/nvim/testdir/test31.ok +++ /dev/null @@ -1,12 +0,0 @@ -testtext 2 -testtext 2 2 -testtext 1 1 -testtext 1 1 1 -testtext 2 2 -testtext 2 2 -testtext 3 -testtext 3 3 -testtext 1 -testtext 3 3 3 -testtext 1 -testtext 2 2 2 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<Esc>:$w! Xtest1<CR>') + feed('$r2:$w! Xtest2<CR>') + feed('$r3:$w! Xtest3<CR>') + execute('n! Xtest1 Xtest2') + feed('A 1<Esc>:set hidden<CR>') + + -- 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<Esc>:rew<CR>') + 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<Esc>:sp<CR>') + 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<Esc>:q!<CR>') + expect('testtext 2 2') + execute('unhide') + expect('testtext 2 2') + + -- Test ":hide" hides anyway when 'hidden' not set + execute('set nohidden') + feed('A 2<Esc>:hide<CR>') + expect('testtext 3') + + -- Test ":edit" failing in modified buffer when 'hidden' not set + feed('A 3<Esc>:e Xtest1<CR>') + 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<Esc>:close<CR>') + expect('testtext 3 3 3') + + -- Test ":close!" does hide when 'hidden' not set in modified buffer + feed('A 3<Esc>:close!<CR>') + execute('set nohidden') + expect('testtext 1') + + -- Test ":all!" hides changed buffer + execute('sp Xtest4') + feed('GA 4<Esc>:all!<CR>') + execute('1wincmd w') + expect('testtext 2 2 2') + end) + + teardown(function() + os.remove('Xtest1') + os.remove('Xtest2') + os.remove('Xtest3') + end) +end) |