mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
tests: Migrate legacy tests 92 and 93 #2261
This commit is contained in:
parent
7a5a85d2c4
commit
d41322fafb
@ -27,7 +27,6 @@ SCRIPTS := test_autoformat_join.out \
|
||||
test76.out test78.out test79.out test80.out \
|
||||
test82.out test83.out test85.out \
|
||||
test86.out test87.out test88.out \
|
||||
test92.out test93.out \
|
||||
test96.out test99.out \
|
||||
test_listlbr.out \
|
||||
test_breakindent.out
|
||||
|
@ -1,48 +0,0 @@
|
||||
vim: set ft=vim fenc=utf-8:
|
||||
|
||||
Tests if :mksession saves cursor columns correctly in presence of tab and
|
||||
multibyte characters when fileencoding=utf-8.
|
||||
|
||||
STARTTEST
|
||||
:so mbyte.vim
|
||||
:if !has('mksession')
|
||||
: e! test.ok
|
||||
: wq! test.out
|
||||
:endif
|
||||
:set sessionoptions=buffers splitbelow fileencoding=utf-8
|
||||
/^start:
|
||||
:vsplit
|
||||
j16|:split
|
||||
j16|:split
|
||||
j16|:split
|
||||
j8|:split
|
||||
j8|:split
|
||||
j16|:split
|
||||
j16|:split
|
||||
j16|:wincmd l
|
||||
/^start:
|
||||
:set nowrap
|
||||
j16|3zl:split
|
||||
j016|3zl:split
|
||||
j016|3zl:split
|
||||
j08|3zl:split
|
||||
j08|3zl:split
|
||||
j016|3zl:split
|
||||
j016|3zl:split
|
||||
j016|3zl:split
|
||||
:mksession! test.out
|
||||
:new test.out
|
||||
:v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
||||
:w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
start:
|
||||
no multibyte chAracter
|
||||
one leaDing tab
|
||||
four leadinG spaces
|
||||
two consecutive tabs
|
||||
two tabs in one line
|
||||
one … multibyteCharacter
|
||||
a “b” two multiByte characters
|
||||
“c”1€ three mulTibyte characters
|
@ -1,26 +0,0 @@
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 08|
|
||||
normal! 08|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
@ -1,48 +0,0 @@
|
||||
vim: set ft=vim fenc=latin1:
|
||||
|
||||
Tests if :mksession saves cursor columns correctly in presence of tab and
|
||||
multibyte characters when fileencoding=latin1.
|
||||
|
||||
STARTTEST
|
||||
:so mbyte.vim
|
||||
:if !has('mksession')
|
||||
: e! test.ok
|
||||
: wq! test.out
|
||||
:endif
|
||||
:set sessionoptions=buffers splitbelow fileencoding=latin1
|
||||
/^start:
|
||||
:vsplit
|
||||
j16|:split
|
||||
j16|:split
|
||||
j16|:split
|
||||
j8|:split
|
||||
j8|:split
|
||||
j16|:split
|
||||
j16|:split
|
||||
j16|:wincmd l
|
||||
/^start:
|
||||
:set nowrap
|
||||
j16|3zl:split
|
||||
j016|3zl:split
|
||||
j016|3zl:split
|
||||
j08|3zl:split
|
||||
j08|3zl:split
|
||||
j016|3zl:split
|
||||
j016|3zl:split
|
||||
j016|3zl:split
|
||||
:mksession! test.out
|
||||
:new test.out
|
||||
:v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
||||
:w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
start:
|
||||
no multibyte chAracter
|
||||
one leaDing tab
|
||||
four leadinG spaces
|
||||
two consecutive tabs
|
||||
two tabs in one line
|
||||
one ä multibyteCharacter
|
||||
aä Ä two multiByte characters
|
||||
Aäöü three mulTibyte characters
|
@ -1,26 +0,0 @@
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 08|
|
||||
normal! 08|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
@ -0,0 +1,98 @@
|
||||
-- Tests if :mksession saves cursor columns correctly in presence of tab and
|
||||
-- multibyte characters when fileencoding=utf-8.
|
||||
--
|
||||
-- Same as legacy test 93 but using UTF-8 file encoding.
|
||||
|
||||
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('store cursor position in session file in UTF-8', function()
|
||||
setup(clear)
|
||||
|
||||
teardown(function()
|
||||
os.remove('test.in')
|
||||
os.remove('test.out')
|
||||
end)
|
||||
|
||||
it('is working', function()
|
||||
insert([[
|
||||
start:
|
||||
no multibyte chAracter
|
||||
one leaDing tab
|
||||
four leadinG spaces
|
||||
two consecutive tabs
|
||||
two tabs in one line
|
||||
one … multibyteCharacter
|
||||
a “b” two multiByte characters
|
||||
“c”1€ three mulTibyte characters]])
|
||||
-- This test requires the buffer to correspond to a file on disk, here named
|
||||
-- "test.in", because otherwise :mksession won't write out the cursor column
|
||||
-- info needed for verification.
|
||||
execute('write! test.in')
|
||||
|
||||
execute('set sessionoptions=buffers splitbelow fileencoding=utf-8')
|
||||
|
||||
-- Move the cursor through the buffer lines and position it with "|". Using
|
||||
-- :split after every normal mode command is a trick to have multiple
|
||||
-- cursors on the screen that can all be stored in the session file.
|
||||
execute('/^start:')
|
||||
execute('vsplit')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j8|:split<cr>')
|
||||
feed('j8|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|')
|
||||
|
||||
-- Again move the cursor through the buffer and position it with "|". This
|
||||
-- time also perform a horizontal scroll at every step.
|
||||
execute('wincmd l')
|
||||
execute('/^start:')
|
||||
execute('set nowrap')
|
||||
feed('j16|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j08|3zl:split<cr>')
|
||||
feed('j08|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
|
||||
-- Create the session file, read it back in, and prepare for verification.
|
||||
execute('mksession! test.out')
|
||||
execute('new test.out')
|
||||
execute([[v/\(^ *normal! 0\|^ *exe 'normal!\)/d]])
|
||||
|
||||
-- Assert buffer contents.
|
||||
expect([[
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 08|
|
||||
normal! 08|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|]])
|
||||
end)
|
||||
end)
|
@ -0,0 +1,95 @@
|
||||
-- Tests if :mksession saves cursor columns correctly in presence of tab and
|
||||
-- multibyte characters when fileencoding=latin1.
|
||||
--
|
||||
-- Same as legacy test 92 but using Latin-1 file encoding.
|
||||
|
||||
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('store cursor position in session file in Latin-1', function()
|
||||
setup(clear)
|
||||
|
||||
teardown(function()
|
||||
os.remove('test.in')
|
||||
os.remove('test.out')
|
||||
end)
|
||||
|
||||
it('is working', function()
|
||||
insert([[
|
||||
start:
|
||||
no multibyte chAracter
|
||||
one leaDing tab
|
||||
four leadinG spaces
|
||||
two consecutive tabs
|
||||
two tabs in one line
|
||||
one ä multibyteCharacter
|
||||
aä Ä two multiByte characters
|
||||
Aäöü three mulTibyte characters]])
|
||||
-- Must write buffer to disk for :mksession. See the comments in
|
||||
-- "092_mksession_cursor_cols_utf8_spec.lua".
|
||||
execute('write! test.in')
|
||||
|
||||
execute('set sessionoptions=buffers splitbelow fileencoding=latin1')
|
||||
|
||||
-- Move the cursor through the buffer lines and position it with "|".
|
||||
execute('/^start:')
|
||||
execute('vsplit')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j8|:split<cr>')
|
||||
feed('j8|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|:split<cr>')
|
||||
feed('j16|')
|
||||
|
||||
-- Again move the cursor through the buffer and position it with "|". This
|
||||
-- time also perform a horizontal scroll at every step.
|
||||
execute('wincmd l')
|
||||
execute('/^start:')
|
||||
execute('set nowrap')
|
||||
feed('j16|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j08|3zl:split<cr>')
|
||||
feed('j08|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
feed('j016|3zl:split<cr>')
|
||||
|
||||
-- Create the session file, read it back in, and prepare for verification.
|
||||
execute('mksession! test.out')
|
||||
execute('new test.out')
|
||||
execute([[v/\(^ *normal! 0\|^ *exe 'normal!\)/d]])
|
||||
|
||||
-- Assert buffer contents.
|
||||
expect([[
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 08|
|
||||
normal! 08|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
normal! 08|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|
|
||||
exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
normal! 016|]])
|
||||
end)
|
||||
end)
|
Loading…
Reference in New Issue
Block a user