mirror of
https://github.com/neovim/neovim.git
synced 2025-10-03 00:18:33 +00:00
vim-patch:8.1.0811: too many #ifdefs
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, the final chapter.
30276f2beb
This commit is contained in:
@@ -51,13 +51,9 @@ source setup.vim
|
|||||||
" This also enables use of line continuation.
|
" This also enables use of line continuation.
|
||||||
set nocp viminfo+=nviminfo
|
set nocp viminfo+=nviminfo
|
||||||
|
|
||||||
" Use utf-8 or latin1 by default, instead of whatever the system default
|
" Use utf-8 by default, instead of whatever the system default happens to be.
|
||||||
" happens to be. Individual tests can overrule this at the top of the file.
|
" Individual tests can overrule this at the top of the file.
|
||||||
if has('multi_byte')
|
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
else
|
|
||||||
set encoding=latin1
|
|
||||||
endif
|
|
||||||
|
|
||||||
" REDIR_TEST_TO_NULL has a very permissive SwapExists autocommand which is for
|
" REDIR_TEST_TO_NULL has a very permissive SwapExists autocommand which is for
|
||||||
" the test_name.vim file itself. Replace it here with a more restrictive one,
|
" the test_name.vim file itself. Replace it here with a more restrictive one,
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
" This makes testing go faster, since Vim doesn't need to restart.
|
" This makes testing go faster, since Vim doesn't need to restart.
|
||||||
|
|
||||||
" These tests use utf8 'encoding'. Setting 'encoding' is already done in
|
" These tests use utf8 'encoding'. Setting 'encoding' is already done in
|
||||||
" runtest.vim. Checking for the multi_byte feature is in the individual
|
" runtest.vim.
|
||||||
" files, so that they can be run by themselves.
|
|
||||||
|
|
||||||
source test_charsearch_utf8.vim
|
source test_charsearch_utf8.vim
|
||||||
source test_expr_utf8.vim
|
source test_expr_utf8.vim
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
" NOTE: This just checks if the code works. If you know Arabic please add
|
" NOTE: This just checks if the code works. If you know Arabic please add
|
||||||
" functional tests that check the shaping works with real text.
|
" functional tests that check the shaping works with real text.
|
||||||
|
|
||||||
if !has('arabic') || !has('multi_byte')
|
if !has('arabic')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
" Tests for related f{char} and t{char} using utf-8.
|
" Tests for related f{char} and t{char} using utf-8.
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Test for t,f,F,T movement commands
|
" Test for t,f,F,T movement commands
|
||||||
function! Test_search_cmds()
|
function! Test_search_cmds()
|
||||||
|
@@ -568,7 +568,8 @@ func Test_setcmdpos()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_cmdline_overstrike()
|
func Test_cmdline_overstrike()
|
||||||
let encodings = has('multi_byte') ? [ 'utf8' ] : [ 'latin1' ]
|
" Nvim: only utf8 is supported.
|
||||||
|
let encodings = ['utf8']
|
||||||
let encoding_save = &encoding
|
let encoding_save = &encoding
|
||||||
|
|
||||||
for e in encodings
|
for e in encodings
|
||||||
@@ -587,11 +588,9 @@ func Test_cmdline_overstrike()
|
|||||||
call assert_equal('"ab0cd3ef4', @:)
|
call assert_equal('"ab0cd3ef4', @:)
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
if has('multi_byte')
|
|
||||||
" Test overstrike with multi-byte characters.
|
" Test overstrike with multi-byte characters.
|
||||||
call feedkeys(":\"テキストエディタ\<home>\<right>\<right>ab\<right>\<insert>cd\<enter>", 'xt')
|
call feedkeys(":\"テキストエディタ\<home>\<right>\<right>ab\<right>\<insert>cd\<enter>", 'xt')
|
||||||
call assert_equal('"テabキcdエディタ', @:)
|
call assert_equal('"テabキcdエディタ', @:)
|
||||||
endif
|
|
||||||
|
|
||||||
let &encoding = encoding_save
|
let &encoding = encoding_save
|
||||||
endfunc
|
endfunc
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
" Tests for digraphs
|
" Tests for digraphs
|
||||||
|
|
||||||
if !has("digraphs") || !has("multi_byte")
|
if !has("digraphs")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -41,7 +41,7 @@ func! Test_display_foldcolumn()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func! Test_display_foldtext_mbyte()
|
func! Test_display_foldtext_mbyte()
|
||||||
if !has("folding") || !has("multi_byte")
|
if !has("folding")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
call NewWindow(10, 40)
|
call NewWindow(10, 40)
|
||||||
|
@@ -37,12 +37,10 @@ func! Test_edit_01()
|
|||||||
call assert_equal([''], getline(1,'$'))
|
call assert_equal([''], getline(1,'$'))
|
||||||
%d
|
%d
|
||||||
" 4) delete a multibyte character
|
" 4) delete a multibyte character
|
||||||
if has("multi_byte")
|
|
||||||
call setline(1, "\u0401")
|
call setline(1, "\u0401")
|
||||||
call feedkeys("i\<del>\<esc>", 'tnix')
|
call feedkeys("i\<del>\<esc>", 'tnix')
|
||||||
call assert_equal([''], getline(1,'$'))
|
call assert_equal([''], getline(1,'$'))
|
||||||
%d
|
%d
|
||||||
endif
|
|
||||||
" 5.1) delete linebreak with 'bs' option containing eol
|
" 5.1) delete linebreak with 'bs' option containing eol
|
||||||
let _bs=&bs
|
let _bs=&bs
|
||||||
set bs=eol
|
set bs=eol
|
||||||
@@ -452,7 +450,7 @@ endfunc
|
|||||||
|
|
||||||
func! Test_edit_CTRL_()
|
func! Test_edit_CTRL_()
|
||||||
" disabled for Windows builds, why?
|
" disabled for Windows builds, why?
|
||||||
if !has("multi_byte") || !has("rightleft") || has("win32")
|
if !has("rightleft") || has("win32")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
let _encoding=&encoding
|
let _encoding=&encoding
|
||||||
@@ -620,7 +618,7 @@ func! Test_edit_CTRL_K()
|
|||||||
endtry
|
endtry
|
||||||
call delete('Xdictionary.txt')
|
call delete('Xdictionary.txt')
|
||||||
|
|
||||||
if has("multi_byte") && !has("nvim")
|
if exists('*test_override')
|
||||||
call test_override("char_avail", 1)
|
call test_override("char_avail", 1)
|
||||||
set showcmd
|
set showcmd
|
||||||
%d
|
%d
|
||||||
|
@@ -1,10 +1,5 @@
|
|||||||
|
|
||||||
func Test_erasebackword()
|
func Test_erasebackword()
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
set encoding=utf-8
|
|
||||||
enew
|
enew
|
||||||
|
|
||||||
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>"
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>"
|
||||||
@@ -21,5 +16,4 @@ func Test_erasebackword()
|
|||||||
call assert_equal('', getline('.'))
|
call assert_equal('', getline('.'))
|
||||||
|
|
||||||
enew!
|
enew!
|
||||||
set encoding&
|
|
||||||
endfunc
|
endfunc
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
" Tests for expressions using utf-8.
|
" Tests for expressions using utf-8.
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
func Test_strgetchar()
|
func Test_strgetchar()
|
||||||
call assert_equal(char2nr('á'), strgetchar('áxb', 0))
|
call assert_equal(char2nr('á'), strgetchar('áxb', 0))
|
||||||
|
@@ -106,11 +106,9 @@ func Test_strwidth()
|
|||||||
call assert_equal(4, strwidth(1234))
|
call assert_equal(4, strwidth(1234))
|
||||||
call assert_equal(5, strwidth(-1234))
|
call assert_equal(5, strwidth(-1234))
|
||||||
|
|
||||||
if has('multi_byte')
|
|
||||||
call assert_equal(2, strwidth('😉'))
|
call assert_equal(2, strwidth('😉'))
|
||||||
call assert_equal(17, strwidth('Eĥoŝanĝo ĉiuĵaŭde'))
|
call assert_equal(17, strwidth('Eĥoŝanĝo ĉiuĵaŭde'))
|
||||||
call assert_equal((aw == 'single') ? 6 : 7, strwidth('Straße'))
|
call assert_equal((aw == 'single') ? 6 : 7, strwidth('Straße'))
|
||||||
endif
|
|
||||||
|
|
||||||
call assert_fails('call strwidth({->0})', 'E729:')
|
call assert_fails('call strwidth({->0})', 'E729:')
|
||||||
call assert_fails('call strwidth([])', 'E730:')
|
call assert_fails('call strwidth([])', 'E730:')
|
||||||
@@ -308,10 +306,8 @@ func Test_strpart()
|
|||||||
call assert_equal('fg', strpart('abcdefg', 5, 4))
|
call assert_equal('fg', strpart('abcdefg', 5, 4))
|
||||||
call assert_equal('defg', strpart('abcdefg', 3))
|
call assert_equal('defg', strpart('abcdefg', 3))
|
||||||
|
|
||||||
if has('multi_byte')
|
|
||||||
call assert_equal('lép', strpart('éléphant', 2, 4))
|
call assert_equal('lép', strpart('éléphant', 2, 4))
|
||||||
call assert_equal('léphant', strpart('éléphant', 2))
|
call assert_equal('léphant', strpart('éléphant', 2))
|
||||||
endif
|
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_tolower()
|
func Test_tolower()
|
||||||
@@ -321,10 +317,6 @@ func Test_tolower()
|
|||||||
call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~',
|
call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~',
|
||||||
\ tolower(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
|
\ tolower(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
|
||||||
|
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Test with a few uppercase diacritics.
|
" Test with a few uppercase diacritics.
|
||||||
call assert_equal("aàáâãäåāăąǎǟǡả", tolower("AÀÁÂÃÄÅĀĂĄǍǞǠẢ"))
|
call assert_equal("aàáâãäåāăąǎǟǡả", tolower("AÀÁÂÃÄÅĀĂĄǍǞǠẢ"))
|
||||||
call assert_equal("bḃḇ", tolower("BḂḆ"))
|
call assert_equal("bḃḇ", tolower("BḂḆ"))
|
||||||
@@ -399,10 +391,6 @@ func Test_toupper()
|
|||||||
call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~',
|
call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~',
|
||||||
\ toupper(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
|
\ toupper(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
|
||||||
|
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Test with a few lowercase diacritics.
|
" Test with a few lowercase diacritics.
|
||||||
call assert_equal("AÀÁÂÃÄÅĀĂĄǍǞǠẢ", toupper("aàáâãäåāăąǎǟǡả"))
|
call assert_equal("AÀÁÂÃÄÅĀĂĄǍǞǠẢ", toupper("aàáâãäåāăąǎǟǡả"))
|
||||||
call assert_equal("BḂḆ", toupper("bḃḇ"))
|
call assert_equal("BḂḆ", toupper("bḃḇ"))
|
||||||
|
@@ -21,10 +21,6 @@ func Test_ga_command()
|
|||||||
|
|
||||||
call assert_equal("\n<e> 101, Hex 65, Octal 145", Do_ga('e'))
|
call assert_equal("\n<e> 101, Hex 65, Octal 145", Do_ga('e'))
|
||||||
|
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Test a few multi-bytes characters.
|
" Test a few multi-bytes characters.
|
||||||
call assert_equal("\n<é> 233, Hex 00e9, Oct 351, Digr e'", Do_ga('é'))
|
call assert_equal("\n<é> 233, Hex 00e9, Oct 351, Digr e'", Do_ga('é'))
|
||||||
call assert_equal("\n<ẻ> 7867, Hex 1ebb, Oct 17273, Digr e2", Do_ga('ẻ'))
|
call assert_equal("\n<ẻ> 7867, Hex 1ebb, Oct 17273, Digr e2", Do_ga('ẻ'))
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
" Tests for 'makeencoding'.
|
" Tests for 'makeencoding'.
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
source shared.vim
|
source shared.vim
|
||||||
|
|
||||||
|
@@ -1,8 +1,5 @@
|
|||||||
" Tests for maparg().
|
" Tests for maparg().
|
||||||
" Also test utf8 map with a 0x80 byte.
|
" Also test utf8 map with a 0x80 byte.
|
||||||
if !has("multi_byte")
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
function s:SID()
|
function s:SID()
|
||||||
return str2nr(matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$'))
|
return str2nr(matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$'))
|
||||||
|
@@ -1,9 +1,5 @@
|
|||||||
" Tests for mappings and abbreviations
|
" Tests for mappings and abbreviations
|
||||||
|
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
source shared.vim
|
source shared.vim
|
||||||
|
|
||||||
func Test_abbreviation()
|
func Test_abbreviation()
|
||||||
|
@@ -122,9 +122,6 @@ func Test_marks_cmd()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_marks_cmd_multibyte()
|
func Test_marks_cmd_multibyte()
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
new Xone
|
new Xone
|
||||||
call setline(1, [repeat('á', &columns)])
|
call setline(1, [repeat('á', &columns)])
|
||||||
norm! ma
|
norm! ma
|
||||||
|
@@ -114,8 +114,6 @@ function Test_match()
|
|||||||
call assert_equal([{'group': 'MyGroup1', 'id': 3, 'priority': 10, 'pos1': [1, 5, 1], 'pos2': [1, 8, 3]}], getmatches())
|
call assert_equal([{'group': 'MyGroup1', 'id': 3, 'priority': 10, 'pos1': [1, 5, 1], 'pos2': [1, 8, 3]}], getmatches())
|
||||||
call clearmatches()
|
call clearmatches()
|
||||||
|
|
||||||
"
|
|
||||||
if has('multi_byte')
|
|
||||||
call setline(1, 'abcdΣabcdef')
|
call setline(1, 'abcdΣabcdef')
|
||||||
call matchaddpos("MyGroup1", [[1, 4, 2], [1, 9, 2]])
|
call matchaddpos("MyGroup1", [[1, 4, 2], [1, 9, 2]])
|
||||||
1
|
1
|
||||||
@@ -143,7 +141,6 @@ function Test_match()
|
|||||||
call clearmatches()
|
call clearmatches()
|
||||||
call setmatches(m)
|
call setmatches(m)
|
||||||
call assert_equal([{'group': 'MyGroup1', 'id': 11, 'priority': 10, 'pos1': [1, 4, 2], 'pos2': [1,9, 2]}, {'group': 'MyGroup1', 'pattern': '\%2lmatchadd', 'priority': 10, 'id': 12}], getmatches())
|
call assert_equal([{'group': 'MyGroup1', 'id': 11, 'priority': 10, 'pos1': [1, 4, 2], 'pos2': [1,9, 2]}, {'group': 'MyGroup1', 'pattern': '\%2lmatchadd', 'priority': 10, 'id': 12}], getmatches())
|
||||||
endif
|
|
||||||
|
|
||||||
highlight MyGroup1 NONE
|
highlight MyGroup1 NONE
|
||||||
highlight MyGroup2 NONE
|
highlight MyGroup2 NONE
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
" Test for matchadd() and conceal feature using utf-8.
|
" Test for matchadd() and conceal feature using utf-8.
|
||||||
if !has('conceal') || !has('multi_byte')
|
if !has('conceal')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
scriptencoding utf-8
|
scriptencoding utf-8
|
||||||
|
|
||||||
if !has('multi_byte') || !has('mksession')
|
if !has('mksession')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -1374,10 +1374,6 @@ func! Test_normal23_K()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func! Test_normal24_rot13()
|
func! Test_normal24_rot13()
|
||||||
" This test uses multi byte characters
|
|
||||||
if !has("multi_byte")
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
" Testing for g?? g?g?
|
" Testing for g?? g?g?
|
||||||
new
|
new
|
||||||
call append(0, 'abcdefghijklmnopqrstuvwxyzäüö')
|
call append(0, 'abcdefghijklmnopqrstuvwxyzäüö')
|
||||||
@@ -1628,10 +1624,6 @@ fun! Test_normal29_brace()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
fun! Test_normal30_changecase()
|
fun! Test_normal30_changecase()
|
||||||
" This test uses multi byte characters
|
|
||||||
if !has("multi_byte")
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
new
|
new
|
||||||
call append(0, 'This is a simple test: äüöß')
|
call append(0, 'This is a simple test: äüöß')
|
||||||
norm! 1ggVu
|
norm! 1ggVu
|
||||||
@@ -1901,7 +1893,6 @@ func! Test_g_ctrl_g()
|
|||||||
call assert_equal("\nCol 1 of 10; Line 1 of 2; Word 1 of 4; Char 1 of 23; Byte 1 of 22", a)
|
call assert_equal("\nCol 1 of 10; Line 1 of 2; Word 1 of 4; Char 1 of 23; Byte 1 of 22", a)
|
||||||
set bin & eol&
|
set bin & eol&
|
||||||
|
|
||||||
if has('multi_byte')
|
|
||||||
call setline(1, ['Français', '日本語'])
|
call setline(1, ['Français', '日本語'])
|
||||||
|
|
||||||
let a = execute(":norm! \<Esc>gojlg\<c-g>")
|
let a = execute(":norm! \<Esc>gojlg\<c-g>")
|
||||||
@@ -1926,17 +1917,12 @@ func! Test_g_ctrl_g()
|
|||||||
call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+4 for BOM)", a)
|
call assert_equal("\nCol 4-3 of 9-6; Line 2 of 2; Word 2 of 2; Char 11 of 13; Byte 16 of 20(+4 for BOM)", a)
|
||||||
|
|
||||||
set fenc& bomb&
|
set fenc& bomb&
|
||||||
endif
|
|
||||||
|
|
||||||
set ff&
|
set ff&
|
||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
fun! Test_normal34_g_cmd3()
|
fun! Test_normal34_g_cmd3()
|
||||||
if !has("multi_byte")
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Test for g8
|
" Test for g8
|
||||||
new
|
new
|
||||||
let a=execute(':norm! 1G0g8')
|
let a=execute(':norm! 1G0g8')
|
||||||
@@ -1955,9 +1941,6 @@ fun! Test_normal34_g_cmd3()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_normal_8g8()
|
func Test_normal_8g8()
|
||||||
if !has("multi_byte")
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
new
|
new
|
||||||
|
|
||||||
" Test 8g8 which finds invalid utf8 at or after the cursor.
|
" Test 8g8 which finds invalid utf8 at or after the cursor.
|
||||||
@@ -2298,11 +2281,6 @@ func! Test_normal45_drop()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func! Test_normal46_ignore()
|
func! Test_normal46_ignore()
|
||||||
" This test uses multi byte characters
|
|
||||||
if !has("multi_byte")
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
new
|
new
|
||||||
" How to test this?
|
" How to test this?
|
||||||
" let's just for now test, that the buffer
|
" let's just for now test, that the buffer
|
||||||
@@ -2475,9 +2453,7 @@ func Test_normal54_Ctrl_bsl()
|
|||||||
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
||||||
exe "norm! df\<c-\>m"
|
exe "norm! df\<c-\>m"
|
||||||
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
||||||
if !has("multi_byte")
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
call setline(2, 'abcdefghijklmnāf')
|
call setline(2, 'abcdefghijklmnāf')
|
||||||
norm! 2gg0
|
norm! 2gg0
|
||||||
exe "norm! df\<Char-0x101>"
|
exe "norm! df\<Char-0x101>"
|
||||||
@@ -2541,9 +2517,6 @@ func Test_changelist()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_delete_until_paragraph()
|
func Test_delete_until_paragraph()
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
new
|
new
|
||||||
normal grádv}
|
normal grádv}
|
||||||
call assert_equal('á', getline(1))
|
call assert_equal('á', getline(1))
|
||||||
|
@@ -183,7 +183,7 @@ func Test_profile_errors()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_profile_truncate_mbyte()
|
func Test_profile_truncate_mbyte()
|
||||||
if !has('multi_byte') || &enc !=# 'utf-8'
|
if &enc !=# 'utf-8'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -1,9 +1,6 @@
|
|||||||
" Tests for put commands, e.g. ":put", "p", "gp", "P", "gP", etc.
|
" Tests for put commands, e.g. ":put", "p", "gp", "P", "gP", etc.
|
||||||
|
|
||||||
func Test_put_block()
|
func Test_put_block()
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
new
|
new
|
||||||
call feedkeys("i\<C-V>u2500\<CR>x\<ESC>", 'x')
|
call feedkeys("i\<C-V>u2500\<CR>x\<ESC>", 'x')
|
||||||
call feedkeys("\<C-V>y", 'x')
|
call feedkeys("\<C-V>y", 'x')
|
||||||
|
@@ -1,9 +1,6 @@
|
|||||||
" Tests for regexp with backslash and other special characters inside []
|
" Tests for regexp with backslash and other special characters inside []
|
||||||
" Also test backslash for hex/octal numbered character.
|
" Also test backslash for hex/octal numbered character.
|
||||||
"
|
"
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
scriptencoding utf-8
|
scriptencoding utf-8
|
||||||
|
|
||||||
|
@@ -480,9 +480,6 @@ endfunc
|
|||||||
|
|
||||||
" Test for search('multi-byte char', 'bce')
|
" Test for search('multi-byte char', 'bce')
|
||||||
func Test_search_multibyte()
|
func Test_search_multibyte()
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
let save_enc = &encoding
|
let save_enc = &encoding
|
||||||
set encoding=utf8
|
set encoding=utf8
|
||||||
enew!
|
enew!
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
" Test the :source! command
|
" Test the :source! command
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
func Test_source_utf8()
|
func Test_source_utf8()
|
||||||
" check that sourcing a script with 0x80 as second byte works
|
" check that sourcing a script with 0x80 as second byte works
|
||||||
|
@@ -137,10 +137,8 @@ func Test_spellinfo()
|
|||||||
set enc=cp1250 spell spelllang=en
|
set enc=cp1250 spell spelllang=en
|
||||||
call assert_match("^\nfile: .*/runtime/spell/en.ascii.spl\n$", execute('spellinfo'))
|
call assert_match("^\nfile: .*/runtime/spell/en.ascii.spl\n$", execute('spellinfo'))
|
||||||
|
|
||||||
if has('multi_byte')
|
|
||||||
set enc=utf-8 spell spelllang=en
|
set enc=utf-8 spell spelllang=en
|
||||||
call assert_match("^\nfile: .*/runtime/spell/en.utf-8.spl\n$", execute('spellinfo'))
|
call assert_match("^\nfile: .*/runtime/spell/en.utf-8.spl\n$", execute('spellinfo'))
|
||||||
endif
|
|
||||||
|
|
||||||
set enc=latin1 spell spelllang=en_us,en_nz
|
set enc=latin1 spell spelllang=en_us,en_nz
|
||||||
call assert_match("^\n" .
|
call assert_match("^\n" .
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
" Tests for startup using utf-8.
|
" Tests for startup using utf-8.
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
source shared.vim
|
source shared.vim
|
||||||
" source screendump.vim
|
" source screendump.vim
|
||||||
|
@@ -1,7 +1,4 @@
|
|||||||
" Tests for Unicode manipulations
|
" Tests for Unicode manipulations
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
" Visual block Insert adjusts for multi-byte char
|
" Visual block Insert adjusts for multi-byte char
|
||||||
|
@@ -1,10 +1,6 @@
|
|||||||
" Tests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)
|
" Tests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)
|
||||||
" Also test "g~ap".
|
" Also test "g~ap".
|
||||||
|
|
||||||
if !has("multi_byte")
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
function! Ch(a, op, b, expected)
|
function! Ch(a, op, b, expected)
|
||||||
call assert_equal(eval(printf('"%s" %s "%s"', a:a, a:op, a:b)), a:expected,
|
call assert_equal(eval(printf('"%s" %s "%s"', a:a, a:op, a:b)), a:expected,
|
||||||
\ printf('"%s" %s "%s" should return %d', a:a, a:op, a:b, a:expected))
|
\ printf('"%s" %s "%s" should return %d', a:a, a:op, a:b, a:expected))
|
||||||
|
@@ -48,11 +48,9 @@ func Test_replace_end_of_line()
|
|||||||
call setline(1, range(20))
|
call setline(1, range(20))
|
||||||
exe "normal! gg2jv10lr-"
|
exe "normal! gg2jv10lr-"
|
||||||
call assert_equal(["1", "-----------", "3"], getline(2,4))
|
call assert_equal(["1", "-----------", "3"], getline(2,4))
|
||||||
if has('multi_byte')
|
|
||||||
call setline(1, range(20))
|
call setline(1, range(20))
|
||||||
exe "normal! gg2jv10lr\<c-k>hh"
|
exe "normal! gg2jv10lr\<c-k>hh"
|
||||||
call assert_equal(["1", "───────────", "3"], getline(2,4))
|
call assert_equal(["1", "───────────", "3"], getline(2,4))
|
||||||
endif
|
|
||||||
|
|
||||||
bwipe!
|
bwipe!
|
||||||
set virtualedit=
|
set virtualedit=
|
||||||
|
@@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
func Test_block_shift_multibyte()
|
func Test_block_shift_multibyte()
|
||||||
" Uses double-wide character.
|
" Uses double-wide character.
|
||||||
if !has('multi_byte')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
split
|
split
|
||||||
call setline(1, ['xヹxxx', 'ヹxxx'])
|
call setline(1, ['xヹxxx', 'ヹxxx'])
|
||||||
exe "normal 1G0l\<C-V>jl>"
|
exe "normal 1G0l\<C-V>jl>"
|
||||||
|
@@ -1,9 +1,5 @@
|
|||||||
" Test for wordcount() function
|
" Test for wordcount() function
|
||||||
|
|
||||||
if !has('multi_byte')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
func Test_wordcount()
|
func Test_wordcount()
|
||||||
let save_enc = &enc
|
let save_enc = &enc
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
|
@@ -33,7 +33,7 @@ func Test_writefile_fails_gently()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_writefile_fails_conversion()
|
func Test_writefile_fails_conversion()
|
||||||
if !has('multi_byte') || !has('iconv') || system('uname -s') =~ 'SunOS'
|
if !has('iconv') || system('uname -s') =~ 'SunOS'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
" Without a backup file the write won't happen if there is a conversion
|
" Without a backup file the write won't happen if there is a conversion
|
||||||
|
Reference in New Issue
Block a user