aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/legacy')
-rw-r--r--test/functional/legacy/003_cindent_spec.lua80
-rw-r--r--test/functional/legacy/005_bufleave_delete_buffer_spec.lua1
-rw-r--r--test/functional/legacy/006_argument_list_spec.lua6
-rw-r--r--test/functional/legacy/007_ball_buffer_list_spec.lua4
-rw-r--r--test/functional/legacy/008_autocommands_spec.lua10
-rw-r--r--test/functional/legacy/011_autocommands_spec.lua8
-rw-r--r--test/functional/legacy/015_alignment_spec.lua3
-rw-r--r--test/functional/legacy/019_smarttab_expandtab_spec.lua1
-rw-r--r--test/functional/legacy/025_jump_tag_hidden_spec.lua21
-rw-r--r--test/functional/legacy/029_join_spec.lua2
-rw-r--r--test/functional/legacy/030_fileformats_spec.lua2
-rw-r--r--test/functional/legacy/033_lisp_indent_spec.lua5
-rw-r--r--test/functional/legacy/038_virtual_replace_spec.lua1
-rw-r--r--test/functional/legacy/039_visual_block_mode_commands_spec.lua2
-rw-r--r--test/functional/legacy/051_highlight_spec.lua3
-rw-r--r--test/functional/legacy/055_list_and_dict_types_spec.lua1
-rw-r--r--test/functional/legacy/059_utf8_spell_checking_spec.lua17
-rw-r--r--test/functional/legacy/060_exists_and_has_functions_spec.lua26
-rw-r--r--test/functional/legacy/063_match_and_matchadd_spec.lua6
-rw-r--r--test/functional/legacy/066_visual_block_tab_spec.lua4
-rw-r--r--test/functional/legacy/068_text_formatting_spec.lua1
-rw-r--r--test/functional/legacy/069_multibyte_formatting_spec.lua14
-rw-r--r--test/functional/legacy/077_mf_hash_grow_spec.lua3
-rw-r--r--test/functional/legacy/078_swapfile_recover_spec.lua16
-rw-r--r--test/functional/legacy/081_coptions_movement_spec.lua1
-rw-r--r--test/functional/legacy/082_string_comparison_spec.lua4
-rw-r--r--test/functional/legacy/084_curswant_spec.lua1
-rw-r--r--test/functional/legacy/088_conceal_tabs_spec.lua1
-rw-r--r--test/functional/legacy/089_number_relnumber_findfile_spec.lua116
-rw-r--r--test/functional/legacy/092_mksession_cursor_cols_utf8_spec.lua1
-rw-r--r--test/functional/legacy/093_mksession_cursor_cols_latin1_spec.lua3
-rw-r--r--test/functional/legacy/094_visual_mode_operators_spec.lua1
-rw-r--r--test/functional/legacy/096_location_list_spec.lua14
-rw-r--r--test/functional/legacy/097_glob_path_spec.lua70
-rw-r--r--test/functional/legacy/103_visual_mode_reset_spec.lua4
-rw-r--r--test/functional/legacy/106_errorformat_spec.lua4
-rw-r--r--test/functional/legacy/107_adjust_window_and_contents_spec.lua2
-rw-r--r--test/functional/legacy/108_backtrace_debug_commands_spec.lua40
-rw-r--r--test/functional/legacy/arglist_spec.lua13
-rw-r--r--test/functional/legacy/assert_spec.lua7
-rw-r--r--test/functional/legacy/breakindent_spec.lua3
-rw-r--r--test/functional/legacy/command_count_spec.lua9
-rw-r--r--test/functional/legacy/delete_spec.lua20
-rw-r--r--test/functional/legacy/edit_spec.lua25
-rw-r--r--test/functional/legacy/erasebackword_spec.lua1
-rw-r--r--test/functional/legacy/fixeol_spec.lua13
-rw-r--r--test/functional/legacy/fnamemodify_spec.lua22
-rw-r--r--test/functional/legacy/getcwd_spec.lua2
-rw-r--r--test/functional/legacy/increment_spec.lua2
-rw-r--r--test/functional/legacy/listchars_spec.lua2
-rw-r--r--test/functional/legacy/listlbr_spec.lua27
-rw-r--r--test/functional/legacy/listlbr_utf8_spec.lua40
-rw-r--r--test/functional/legacy/marks_spec.lua1
-rw-r--r--test/functional/legacy/options_spec.lua2
-rw-r--r--test/functional/legacy/packadd_spec.lua57
-rw-r--r--test/functional/legacy/search_spec.lua110
-rw-r--r--test/functional/legacy/tagcase_spec.lua6
-rw-r--r--test/functional/legacy/utf8_spec.lua1
-rw-r--r--test/functional/legacy/wordcount_spec.lua2
59 files changed, 544 insertions, 320 deletions
diff --git a/test/functional/legacy/003_cindent_spec.lua b/test/functional/legacy/003_cindent_spec.lua
index 27835fea28..1cede8a7d7 100644
--- a/test/functional/legacy/003_cindent_spec.lua
+++ b/test/functional/legacy/003_cindent_spec.lua
@@ -1,4 +1,5 @@
-- Test for 'cindent'.
+-- For new tests, consider putting them in test_cindent.vim.
--
-- There are 50+ test command blocks (the stuff between STARTTEST and ENDTEST)
-- in the original test. These have been converted to "it" test cases here.
@@ -15,6 +16,8 @@ local function insert_(content)
feed_command('1', 'set cin ts=4 sw=4')
end
+-- luacheck: ignore 621 (Indentation)
+-- luacheck: ignore 613 (Trailing whitespace in a string)
describe('cindent', function()
before_each(clear)
@@ -1954,7 +1957,8 @@ describe('cindent', function()
}
]=])
- feed_command('set tw=0 wm=60 columns=80 noai fo=croq')
+ feed_command('set tw=0 noai fo=croq')
+ feed_command('let &wm = &columns - 20')
feed_command('/serious/e')
feed('a about life, the universe, and the rest<esc>')
@@ -3915,6 +3919,26 @@ describe('cindent', function()
{
111111111111111111;
}
+ namespace test::cpp17
+ {
+ 111111111111111111;
+ }
+ namespace ::incorrectcpp17
+ {
+ 111111111111111111;
+ }
+ namespace test::incorrectcpp17::
+ {
+ 111111111111111111;
+ }
+ namespace test:incorrectcpp17
+ {
+ 111111111111111111;
+ }
+ namespace test:::incorrectcpp17
+ {
+ 111111111111111111;
+ }
namespace{
111111111111111111;
}
@@ -3986,6 +4010,26 @@ describe('cindent', function()
{
111111111111111111;
}
+ namespace test::cpp17
+ {
+ 111111111111111111;
+ }
+ namespace ::incorrectcpp17
+ {
+ 111111111111111111;
+ }
+ namespace test::incorrectcpp17::
+ {
+ 111111111111111111;
+ }
+ namespace test:incorrectcpp17
+ {
+ 111111111111111111;
+ }
+ namespace test:::incorrectcpp17
+ {
+ 111111111111111111;
+ }
namespace{
111111111111111111;
}
@@ -4676,4 +4720,38 @@ describe('cindent', function()
JSEND
]=])
end)
+
+ it('line continuations in macros / vim-patch 8.0.0148', function()
+ insert_([=[
+ /* start of define */
+ {
+ }
+ #define AAA \
+ BBB\
+ CCC
+
+ #define CNT \
+ 1 + \
+ 2 + \
+ 4
+ /* end of define */]=])
+
+ feed_command('set cino&')
+ feed_command('/start of define')
+ feed('=/end of define<cr>')
+
+ expect([=[
+ /* start of define */
+ {
+ }
+ #define AAA \
+ BBB\
+ CCC
+
+ #define CNT \
+ 1 + \
+ 2 + \
+ 4
+ /* end of define */]=])
+ end)
end)
diff --git a/test/functional/legacy/005_bufleave_delete_buffer_spec.lua b/test/functional/legacy/005_bufleave_delete_buffer_spec.lua
index 417842c52d..8b92c877a6 100644
--- a/test/functional/legacy/005_bufleave_delete_buffer_spec.lua
+++ b/test/functional/legacy/005_bufleave_delete_buffer_spec.lua
@@ -9,6 +9,7 @@ local wait = helpers.wait
describe('test5', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
start of test file Xxx
diff --git a/test/functional/legacy/006_argument_list_spec.lua b/test/functional/legacy/006_argument_list_spec.lua
index dac58df8a5..9f75a91fa8 100644
--- a/test/functional/legacy/006_argument_list_spec.lua
+++ b/test/functional/legacy/006_argument_list_spec.lua
@@ -78,8 +78,8 @@ describe('argument list', function()
end)
teardown(function()
- os.remove('Xxx1')
- os.remove('Xxx2')
- os.remove('Xxx3')
+ os.remove('Xxx1')
+ os.remove('Xxx2')
+ os.remove('Xxx3')
end)
end)
diff --git a/test/functional/legacy/007_ball_buffer_list_spec.lua b/test/functional/legacy/007_ball_buffer_list_spec.lua
index 8501faabec..a180e73301 100644
--- a/test/functional/legacy/007_ball_buffer_list_spec.lua
+++ b/test/functional/legacy/007_ball_buffer_list_spec.lua
@@ -36,10 +36,10 @@ describe(':ball', function()
-- Open window for all args, close Xxx2
feed('$r4:ball<cr>')
-
+
-- Write contents of this file
feed_command('%yank A')
-
+
-- Append contents of second window (Xxx1)
feed('')
feed_command('%yank A')
diff --git a/test/functional/legacy/008_autocommands_spec.lua b/test/functional/legacy/008_autocommands_spec.lua
index 7474f1e068..453638ce45 100644
--- a/test/functional/legacy/008_autocommands_spec.lua
+++ b/test/functional/legacy/008_autocommands_spec.lua
@@ -5,9 +5,10 @@ local helpers = require('test.functional.helpers')(after_each)
local feed, source = helpers.feed, helpers.source
local clear, feed_command, expect, eq, eval = helpers.clear, helpers.feed_command, helpers.expect, helpers.eq, helpers.eval
local write_file, wait, dedent = helpers.write_file, helpers.wait, helpers.dedent
-local io = require('io')
+local read_file = helpers.read_file
describe('autocommands that delete and unload buffers:', function()
+ local test_file = 'Xtest-008_autocommands.out'
local text1 = dedent([[
start of Xxx1
test
@@ -18,7 +19,7 @@ describe('autocommands that delete and unload buffers:', function()
write_file('Xxx2', text2..'\n')
end)
teardown(function()
- os.remove('test.out')
+ os.remove(test_file)
os.remove('Xxx1')
os.remove('Xxx2')
end)
@@ -65,7 +66,8 @@ describe('autocommands that delete and unload buffers:', function()
endwhile
endfunc
func WriteToOut()
- edit! test.out
+ edit! ]]..test_file..[[
+
$put ='VimLeave done'
write
endfunc
@@ -86,6 +88,6 @@ describe('autocommands that delete and unload buffers:', function()
feed_command('q')
wait()
eq('VimLeave done',
- string.match(io.open('test.out', 'r'):read('*all'), "^%s*(.-)%s*$"))
+ string.match(read_file(test_file), "^%s*(.-)%s*$"))
end)
end)
diff --git a/test/functional/legacy/011_autocommands_spec.lua b/test/functional/legacy/011_autocommands_spec.lua
index e01af4583b..c2667d28d2 100644
--- a/test/functional/legacy/011_autocommands_spec.lua
+++ b/test/functional/legacy/011_autocommands_spec.lua
@@ -18,10 +18,9 @@ local clear, feed_command, expect, eq, neq, dedent, write_file, feed =
helpers.clear, helpers.feed_command, helpers.expect, helpers.eq, helpers.neq,
helpers.dedent, helpers.write_file, helpers.feed
-if helpers.pending_win32(pending) then return end
-
local function has_gzip()
- return os.execute('gzip --help >/dev/null 2>&1') == 0
+ local null = helpers.iswin() and 'nul' or '/dev/null'
+ return os.execute('gzip --help >' .. null .. ' 2>&1') == 0
end
local function prepare_gz_file(name, text)
@@ -94,6 +93,8 @@ describe('file reading, writing and bufnew and filter autocommands', function()
eq(gzip_data, io.open('Xtestfile.gz'):read('*all'))
end)
+ -- luacheck: ignore 621 (Indentation)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
it('FileReadPre, FileReadPost', function()
prepare_gz_file('Xtestfile', text1)
feed_command('au! FileReadPre *.gz exe "silent !gzip -d " . shellescape(expand("<afile>"))')
@@ -140,6 +141,7 @@ describe('file reading, writing and bufnew and filter autocommands', function()
end)
it('FilterReadPre, FilterReadPost', function()
+ if helpers.pending_win32(pending) then return end
-- Write a special input file for this test block.
write_file('test.out', dedent([[
startstart
diff --git a/test/functional/legacy/015_alignment_spec.lua b/test/functional/legacy/015_alignment_spec.lua
index 8423aa3d11..d73ff06972 100644
--- a/test/functional/legacy/015_alignment_spec.lua
+++ b/test/functional/legacy/015_alignment_spec.lua
@@ -9,6 +9,7 @@ local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers
describe('alignment', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
test for :left
@@ -112,7 +113,7 @@ describe('alignment', function()
asxa;ofa axxxoikey
asdfaqwer axxxoikey
- xxxxx xx xxxxxx
+ xxxxx xx xxxxxx
xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx
xx xxxxxxx. xxxx xxxx.
diff --git a/test/functional/legacy/019_smarttab_expandtab_spec.lua b/test/functional/legacy/019_smarttab_expandtab_spec.lua
index ecb24885bb..7b03ee8e99 100644
--- a/test/functional/legacy/019_smarttab_expandtab_spec.lua
+++ b/test/functional/legacy/019_smarttab_expandtab_spec.lua
@@ -8,6 +8,7 @@ local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers
describe([[performing "r<Tab>" with 'smarttab' and 'expandtab' set/not set, and "dv_"]], function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
start text
diff --git a/test/functional/legacy/025_jump_tag_hidden_spec.lua b/test/functional/legacy/025_jump_tag_hidden_spec.lua
index 0d51b4da26..dd89a3680e 100644
--- a/test/functional/legacy/025_jump_tag_hidden_spec.lua
+++ b/test/functional/legacy/025_jump_tag_hidden_spec.lua
@@ -5,8 +5,6 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local feed_command, expect = helpers.feed_command, helpers.expect
-if helpers.pending_win32(pending) then return end
-
describe('jump to a tag with hidden set', function()
setup(clear)
@@ -25,12 +23,17 @@ describe('jump to a tag with hidden set', function()
feed_command('set hidden')
-- Create a link from test25.dir to the current directory.
- feed_command('!rm -f test25.dir')
- feed_command('!ln -s . test25.dir')
+ if helpers.iswin() then
+ feed_command('!rd /q/s test25.dir')
+ feed_command('!mklink /j test25.dir .')
+ else
+ feed_command('!rm -f test25.dir')
+ feed_command('!ln -s . test25.dir')
+ end
-- Create tags.text, with the current directory name inserted.
feed_command('/tags line')
- feed_command('r !pwd')
+ feed_command('r !' .. (helpers.iswin() and 'cd' or 'pwd'))
feed('d$/test<cr>')
feed('hP:.w! tags.test<cr>')
@@ -39,7 +42,13 @@ describe('jump to a tag with hidden set', function()
-- space will then be eaten by hit-return, instead of moving the cursor to 'd'.
feed_command('set tags=tags.test')
feed('G<C-]> x:yank a<cr>')
- feed_command('!rm -f Xxx test25.dir tags.test')
+ feed_command("call delete('tags.test')")
+ feed_command("call delete('Xxx')")
+ if helpers.iswin() then
+ feed_command('!rd /q test25.dir')
+ else
+ feed_command('!rm -f test25.dir')
+ end
-- Put @a and remove empty line
feed_command('%d')
diff --git a/test/functional/legacy/029_join_spec.lua b/test/functional/legacy/029_join_spec.lua
index 460b9291bf..b28f276a7c 100644
--- a/test/functional/legacy/029_join_spec.lua
+++ b/test/functional/legacy/029_join_spec.lua
@@ -11,6 +11,8 @@ local feed_command = helpers.feed_command
describe('joining lines', function()
before_each(clear)
+ -- luacheck: ignore 613 (Trailing whitespaces in a string)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
it("keeps marks with different 'joinspaces' settings", function()
insert([[
firstline
diff --git a/test/functional/legacy/030_fileformats_spec.lua b/test/functional/legacy/030_fileformats_spec.lua
index 7384fdf847..2fd51602d8 100644
--- a/test/functional/legacy/030_fileformats_spec.lua
+++ b/test/functional/legacy/030_fileformats_spec.lua
@@ -5,8 +5,6 @@ local feed, clear, command = helpers.feed, helpers.clear, helpers.command
local eq, write_file = helpers.eq, helpers.write_file
local wait = helpers.wait
-if helpers.pending_win32(pending) then return end
-
describe('fileformats option', function()
setup(function()
clear()
diff --git a/test/functional/legacy/033_lisp_indent_spec.lua b/test/functional/legacy/033_lisp_indent_spec.lua
index 2b79ee024b..5132333a5c 100644
--- a/test/functional/legacy/033_lisp_indent_spec.lua
+++ b/test/functional/legacy/033_lisp_indent_spec.lua
@@ -9,6 +9,7 @@ local wait = helpers.wait
describe('lisp indent', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
(defun html-file (base)
@@ -22,7 +23,7 @@ describe('lisp indent', function()
:if-exists :supersede)
(let ((,ti ,title))
(as title ,ti)
- (with center
+ (with center
(as h2 (string-upcase ,ti)))
(brs 3)
,@body))))
@@ -58,7 +59,7 @@ describe('lisp indent', function()
:if-exists :supersede)
(let ((,ti ,title))
(as title ,ti)
- (with center
+ (with center
(as h2 (string-upcase ,ti)))
(brs 3)
,@body))))
diff --git a/test/functional/legacy/038_virtual_replace_spec.lua b/test/functional/legacy/038_virtual_replace_spec.lua
index 2dfc959a8c..8dd7bdda6e 100644
--- a/test/functional/legacy/038_virtual_replace_spec.lua
+++ b/test/functional/legacy/038_virtual_replace_spec.lua
@@ -7,6 +7,7 @@ local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers
describe('Virtual replace mode', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
-- Make sure that backspace works, no matter what termcap is used.
feed_command('set t_kD=x7f t_kb=x08')
diff --git a/test/functional/legacy/039_visual_block_mode_commands_spec.lua b/test/functional/legacy/039_visual_block_mode_commands_spec.lua
index dffef50950..135058c579 100644
--- a/test/functional/legacy/039_visual_block_mode_commands_spec.lua
+++ b/test/functional/legacy/039_visual_block_mode_commands_spec.lua
@@ -43,6 +43,7 @@ describe('Visual block mode', function()
abcdqqqqijklm]])
end)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
it('should insert a block using cursor keys for movement', function()
insert([[
aaaaaa
@@ -104,6 +105,7 @@ describe('Visual block mode', function()
456ab7]])
end)
+ -- luacheck: ignore 621 (Indentation)
it('should insert and append a block when virtualedit=all', function()
insert([[
line1
diff --git a/test/functional/legacy/051_highlight_spec.lua b/test/functional/legacy/051_highlight_spec.lua
index 60d29246ff..40f70de2ec 100644
--- a/test/functional/legacy/051_highlight_spec.lua
+++ b/test/functional/legacy/051_highlight_spec.lua
@@ -8,8 +8,6 @@ local eq = helpers.eq
local wait = helpers.wait
local exc_exec = helpers.exc_exec
-if helpers.pending_win32(pending) then return end
-
describe(':highlight', function()
setup(clear)
@@ -37,6 +35,7 @@ describe(':highlight', function()
feed('q')
wait() -- wait until we're back to normal
command('hi Search')
+ command('hi Normal')
-- Test setting colors.
-- Test clearing one color and all doesn't generate error or warning
diff --git a/test/functional/legacy/055_list_and_dict_types_spec.lua b/test/functional/legacy/055_list_and_dict_types_spec.lua
index e84c415eb0..dcbd8b7dff 100644
--- a/test/functional/legacy/055_list_and_dict_types_spec.lua
+++ b/test/functional/legacy/055_list_and_dict_types_spec.lua
@@ -191,6 +191,7 @@ describe('list and dictionary types', function()
[3]]=])
end)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
it('assignment to a list', function()
source([[
let l = [0, 1, 2, 3]
diff --git a/test/functional/legacy/059_utf8_spell_checking_spec.lua b/test/functional/legacy/059_utf8_spell_checking_spec.lua
index 120e469ab2..8630ac58ef 100644
--- a/test/functional/legacy/059_utf8_spell_checking_spec.lua
+++ b/test/functional/legacy/059_utf8_spell_checking_spec.lua
@@ -5,8 +5,6 @@ local feed, insert, source = helpers.feed, helpers.insert, helpers.source
local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers.expect
local write_file, call = helpers.write_file, helpers.call
-if helpers.pending_win32(pending) then return end
-
local function write_latin1(name, text)
text = call('iconv', text, 'utf-8', 'latin-1')
write_file(name, text)
@@ -507,8 +505,13 @@ describe("spell checking with 'encoding' set to utf-8", function()
-- Vim function in the original legacy test.
local function test_one(aff, dic)
-- Generate a .spl file from a .dic and .aff file.
- os.execute('cp -f Xtest'..aff..'.aff Xtest.aff')
- os.execute('cp -f Xtest'..dic..'.dic Xtest.dic')
+ if helpers.iswin() then
+ os.execute('copy /y Xtest'..aff..'.aff Xtest.aff')
+ os.execute('copy /y Xtest'..dic..'.dic Xtest.dic')
+ else
+ os.execute('cp -f Xtest'..aff..'.aff Xtest.aff')
+ os.execute('cp -f Xtest'..dic..'.dic Xtest.dic')
+ end
source([[
set spellfile=
function! SpellDumpNoShow()
@@ -559,7 +562,11 @@ describe("spell checking with 'encoding' set to utf-8", function()
feed_command([[$put =soundfold('kóopërÿnôven')]])
feed_command([[$put =soundfold('oeverloos gezwets edale')]])
-- And now with SAL instead of SOFO items; test automatic reloading.
- os.execute('cp -f Xtest-sal.aff Xtest.aff')
+ if helpers.iswin() then
+ os.execute('copy /y Xtest-sal.aff Xtest.aff')
+ else
+ os.execute('cp -f Xtest-sal.aff Xtest.aff')
+ end
feed_command('mkspell! Xtest Xtest')
feed_command([[$put =soundfold('goobledygoook')]])
feed_command([[$put =soundfold('kóopërÿnôven')]])
diff --git a/test/functional/legacy/060_exists_and_has_functions_spec.lua b/test/functional/legacy/060_exists_and_has_functions_spec.lua
index 3e99f6df57..1794f23b3a 100644
--- a/test/functional/legacy/060_exists_and_has_functions_spec.lua
+++ b/test/functional/legacy/060_exists_and_has_functions_spec.lua
@@ -12,7 +12,7 @@ describe('exists() and has() functions', function()
write_file('test60.vim', [[
" Vim script for exists() function test
" Script-local variables are checked here
-
+
" Existing script-local variable
let s:script_var = 1
echo 's:script_var: 1'
@@ -21,7 +21,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Non-existing script-local variable
unlet s:script_var
echo 's:script_var: 0'
@@ -30,7 +30,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Existing script-local list
let s:script_list = ["blue", "orange"]
echo 's:script_list: 1'
@@ -39,7 +39,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Non-existing script-local list
unlet s:script_list
echo 's:script_list: 0'
@@ -48,7 +48,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Existing script-local dictionary
let s:script_dict = {"xcord":100, "ycord":2}
echo 's:script_dict: 1'
@@ -57,7 +57,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Non-existing script-local dictionary
unlet s:script_dict
echo 's:script_dict: 0'
@@ -66,7 +66,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Existing script curly-brace variable
let str = "script"
let s:curly_{str}_var = 1
@@ -76,7 +76,7 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Non-existing script-local curly-brace variable
unlet s:curly_{str}_var
echo 's:curly_' . str . '_var: 0'
@@ -85,21 +85,21 @@ describe('exists() and has() functions', function()
else
echo "FAILED"
endif
-
+
" Existing script-local function
function! s:my_script_func()
endfunction
-
+
echo '*s:my_script_func: 1'
if exists('*s:my_script_func')
echo "OK"
else
echo "FAILED"
endif
-
+
" Non-existing script-local function
delfunction s:my_script_func
-
+
echo '*s:my_script_func: 0'
if !exists('*s:my_script_func')
echo "OK"
@@ -644,7 +644,7 @@ describe('exists() and has() functions', function()
-- Assert buffer contents.
expect([[
-
+
#myagroup: 1
OK
#myagroup+b: 0
diff --git a/test/functional/legacy/063_match_and_matchadd_spec.lua b/test/functional/legacy/063_match_and_matchadd_spec.lua
index a505a2db30..518d79861b 100644
--- a/test/functional/legacy/063_match_and_matchadd_spec.lua
+++ b/test/functional/legacy/063_match_and_matchadd_spec.lua
@@ -114,9 +114,11 @@ describe('063: Test for ":match", "matchadd()" and related functions', function(
command("call clearmatches()")
eq('\nE714: List required', redir_exec("let rf1 = setmatches(0)"))
eq(-1, eval('rf1'))
- eq('\nE474: Invalid argument', redir_exec("let rf2 = setmatches([0])"))
+ eq('\nE474: List item 0 is either not a dictionary or an empty one',
+ redir_exec("let rf2 = setmatches([0])"))
eq(-1, eval('rf2'))
- eq('\nE474: Invalid argument', redir_exec("let rf3 = setmatches([{'wrong key': 'wrong value'}])"))
+ eq('\nE474: List item 0 is missing one of the required keys',
+ redir_exec("let rf3 = setmatches([{'wrong key': 'wrong value'}])"))
eq(-1, eval('rf3'))
-- Check that "matchaddpos()" positions matches correctly
diff --git a/test/functional/legacy/066_visual_block_tab_spec.lua b/test/functional/legacy/066_visual_block_tab_spec.lua
index 7c4984362f..f10152d8ea 100644
--- a/test/functional/legacy/066_visual_block_tab_spec.lua
+++ b/test/functional/legacy/066_visual_block_tab_spec.lua
@@ -15,7 +15,7 @@ describe('visual block shift and tab characters', function()
one two three
one two three
one two three
-
+
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
@@ -49,7 +49,7 @@ describe('visual block shift and tab characters', function()
on1 two three
on1 two three
on1 two three
-
+
abcdefghijklmnopqrstuvwxyz
abcdefghij
abc defghijklmnopqrstuvwxyz
diff --git a/test/functional/legacy/068_text_formatting_spec.lua b/test/functional/legacy/068_text_formatting_spec.lua
index 772dbc14cf..3a1b21bf87 100644
--- a/test/functional/legacy/068_text_formatting_spec.lua
+++ b/test/functional/legacy/068_text_formatting_spec.lua
@@ -9,6 +9,7 @@ local expect = helpers.expect
describe('text formatting', function()
setup(clear)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
it('is working', function()
-- The control character <C-A> (byte \x01) needs to be put in the buffer
-- directly. But the insert function sends the text to nvim in insert
diff --git a/test/functional/legacy/069_multibyte_formatting_spec.lua b/test/functional/legacy/069_multibyte_formatting_spec.lua
index 38ca25d57a..9c248e3aa8 100644
--- a/test/functional/legacy/069_multibyte_formatting_spec.lua
+++ b/test/functional/legacy/069_multibyte_formatting_spec.lua
@@ -27,7 +27,7 @@ describe('multibyte text', function()
XYZ
abc
XYZ
-
+
XYZ
abc
XYZ
@@ -62,7 +62,7 @@ describe('multibyte text', function()
-
+
a
@@ -125,7 +125,7 @@ describe('multibyte text', function()
ab
-
+
a
@@ -166,7 +166,7 @@ describe('multibyte text', function()
a
-
+
a
@@ -190,7 +190,7 @@ describe('multibyte text', function()
a
-
+
a
@@ -239,7 +239,7 @@ describe('multibyte text', function()
XX
XXa
XXY
-
+
Xa
Xa
@@ -259,7 +259,7 @@ describe('multibyte text', function()
it('formatting in replace mode', function()
insert([[
{
-
+
}]])
feed_command('/^{/+1')
feed_command('set tw=2 fo=tm')
diff --git a/test/functional/legacy/077_mf_hash_grow_spec.lua b/test/functional/legacy/077_mf_hash_grow_spec.lua
index c692127213..4719a3ecbf 100644
--- a/test/functional/legacy/077_mf_hash_grow_spec.lua
+++ b/test/functional/legacy/077_mf_hash_grow_spec.lua
@@ -18,7 +18,8 @@ describe('mf_hash_grow()', function()
setup(clear)
-- Check to see if cksum exists, otherwise skip the test
- if os.execute('which cksum 2>&1 > /dev/null') ~= 0 then
+ local null = helpers.iswin() and 'nul' or '/dev/null'
+ if os.execute('cksum --help >' .. null .. ' 2>&1') ~= 0 then
pending('was not tested because cksum was not found', function() end)
else
it('is working', function()
diff --git a/test/functional/legacy/078_swapfile_recover_spec.lua b/test/functional/legacy/078_swapfile_recover_spec.lua
index 4390ba2ca8..45f0aed37a 100644
--- a/test/functional/legacy/078_swapfile_recover_spec.lua
+++ b/test/functional/legacy/078_swapfile_recover_spec.lua
@@ -22,32 +22,32 @@ describe('78', function()
let linecount = 10000
while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
preserve
-
+
" Get the name of the swap file, and clean up the :redir capture.
redir => g:swapname | swapname | redir END
let g:swapname = substitute(g:swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][:cntrl:]]*$', '\1', 'g')
let g:swapname = fnameescape(g:swapname)
-
+
" Make a copy of the swap file in Xswap
set bin
exe 'sp ' . g:swapname
w! Xswap
-
+
set nobin
new
only!
bwipe! Xtest
call rename('Xswap', g:swapname)
-
+
"TODO(jkeyes): without 'silent', this hangs the test " at message:
" 'Recovery completed. You should check if everything is OK.'
silent recover Xtest
-
+
call delete(g:swapname)
new
call append(0, 'recovery start')
wincmd w
-
+
let g:linedollar = line('$')
if g:linedollar < linecount
wincmd w
@@ -56,7 +56,7 @@ describe('78', function()
wincmd w
let linecount = g:linedollar
endif
-
+
let i = 1
while i <= linecount
if getline(i) != i . text
@@ -72,7 +72,7 @@ describe('78', function()
expect([[
recovery start
-
+
recovery end]])
end)
end)
diff --git a/test/functional/legacy/081_coptions_movement_spec.lua b/test/functional/legacy/081_coptions_movement_spec.lua
index 993aff2ba2..d82c46a3d3 100644
--- a/test/functional/legacy/081_coptions_movement_spec.lua
+++ b/test/functional/legacy/081_coptions_movement_spec.lua
@@ -7,6 +7,7 @@ local feed_command, expect = helpers.feed_command, helpers.expect
describe('coptions', function()
setup(clear)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
it('is working', function()
insert([[
aaa two three four
diff --git a/test/functional/legacy/082_string_comparison_spec.lua b/test/functional/legacy/082_string_comparison_spec.lua
index cfc0b96bce..311822c34f 100644
--- a/test/functional/legacy/082_string_comparison_spec.lua
+++ b/test/functional/legacy/082_string_comparison_spec.lua
@@ -115,9 +115,9 @@ describe('case-insensitive string comparison in UTF-8', function()
-- Assert buffer contents.
expect([=[
3732 checks passed
-
+
ABCD
-
+
defg]=])
end)
end)
diff --git a/test/functional/legacy/084_curswant_spec.lua b/test/functional/legacy/084_curswant_spec.lua
index 9809ce5b88..42cb2fc56d 100644
--- a/test/functional/legacy/084_curswant_spec.lua
+++ b/test/functional/legacy/084_curswant_spec.lua
@@ -7,6 +7,7 @@ local clear, expect = helpers.clear, helpers.expect
describe('curswant', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
start target options
diff --git a/test/functional/legacy/088_conceal_tabs_spec.lua b/test/functional/legacy/088_conceal_tabs_spec.lua
index c9414679ab..a4c7e26583 100644
--- a/test/functional/legacy/088_conceal_tabs_spec.lua
+++ b/test/functional/legacy/088_conceal_tabs_spec.lua
@@ -12,6 +12,7 @@ end
describe('cursor and column position with conceal and tabulators', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
it('are working', function()
insert([[
start:
diff --git a/test/functional/legacy/089_number_relnumber_findfile_spec.lua b/test/functional/legacy/089_number_relnumber_findfile_spec.lua
deleted file mode 100644
index 7a87fc8603..0000000000
--- a/test/functional/legacy/089_number_relnumber_findfile_spec.lua
+++ /dev/null
@@ -1,116 +0,0 @@
--- - Some tests for setting 'number' and 'relativenumber'
--- This is not all that useful now that the options are no longer reset when
--- setting the other.
-
-local helpers = require('test.functional.helpers')(after_each)
-local feed = helpers.feed
-local clear, expect, source = helpers.clear, helpers.expect, helpers.source
-
-describe("setting 'number' and 'relativenumber'", function()
- setup(clear)
-
- it('is working', function()
- source([[
- set hidden nu rnu
- redir @a | set nu? | set rnu? | redir END
- e! xx
- redir @b | set nu? | set rnu? | redir END
- e! #
- $put ='results:'
- $put a
- $put b
-
- set nonu nornu
- setglobal nu
- setlocal rnu
- redir @c | setglobal nu? | redir END
- set nonu nornu
- setglobal rnu
- setlocal nu
- redir @d | setglobal rnu? | redir END
- $put =':setlocal must NOT reset the other global value'
- $put c
- $put d
-
- set nonu nornu
- setglobal nu
- setglobal rnu
- redir @e | setglobal nu? | redir END
- set nonu nornu
- setglobal rnu
- setglobal nu
- redir @f | setglobal rnu? | redir END
- $put =':setglobal MUST reset the other global value'
- $put e
- $put f
-
- set nonu nornu
- set nu
- set rnu
- redir @g | setglobal nu? | redir END
- set nonu nornu
- set rnu
- set nu
- redir @h | setglobal rnu? | redir END
- $put =':set MUST reset the other global value'
- $put g
- $put h
- ]])
-
- -- Remove empty line
- feed('ggdd')
-
- -- Assert buffer contents.
- expect([[
- results:
-
- number
- relativenumber
-
- number
- relativenumber
- :setlocal must NOT reset the other global value
-
- number
-
- relativenumber
- :setglobal MUST reset the other global value
-
- number
-
- relativenumber
- :set MUST reset the other global value
-
- number
-
- relativenumber]])
- end)
-end)
-
--- - Some tests for findfile() function
-describe('findfile', function()
- setup(clear)
-
- it('is working', function()
- -- Assume test is being run from project root
- source([[
- $put ='Testing findfile'
- $put =''
- set ssl
- $put =findfile('vim.c','src/nvim/ap*')
- cd src/nvim
- $put =findfile('vim.c','ap*')
- $put =findfile('vim.c','api')
- ]])
-
- -- Remove empty line
- feed('ggdd')
-
- expect([[
- Testing findfile
-
- src/nvim/api/vim.c
- api/vim.c
- api/vim.c]])
- end)
-end)
diff --git a/test/functional/legacy/092_mksession_cursor_cols_utf8_spec.lua b/test/functional/legacy/092_mksession_cursor_cols_utf8_spec.lua
index 44f1664abe..3c46c29951 100644
--- a/test/functional/legacy/092_mksession_cursor_cols_utf8_spec.lua
+++ b/test/functional/legacy/092_mksession_cursor_cols_utf8_spec.lua
@@ -15,6 +15,7 @@ describe('store cursor position in session file in UTF-8', function()
os.remove('test.out')
end)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
start:
diff --git a/test/functional/legacy/093_mksession_cursor_cols_latin1_spec.lua b/test/functional/legacy/093_mksession_cursor_cols_latin1_spec.lua
index 49bc43f76f..f09fd9a6e5 100644
--- a/test/functional/legacy/093_mksession_cursor_cols_latin1_spec.lua
+++ b/test/functional/legacy/093_mksession_cursor_cols_latin1_spec.lua
@@ -7,8 +7,6 @@ local helpers = require('test.functional.helpers')(after_each)
local feed, insert = helpers.feed, helpers.insert
local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers.expect
-if helpers.pending_win32(pending) then return end
-
describe('store cursor position in session file in Latin-1', function()
setup(clear)
@@ -17,6 +15,7 @@ describe('store cursor position in session file in Latin-1', function()
os.remove('test.out')
end)
+ -- luacheck: ignore 621 (Indentation)
it('is working', function()
insert([[
start:
diff --git a/test/functional/legacy/094_visual_mode_operators_spec.lua b/test/functional/legacy/094_visual_mode_operators_spec.lua
index 84e384050a..ff1d3e7bec 100644
--- a/test/functional/legacy/094_visual_mode_operators_spec.lua
+++ b/test/functional/legacy/094_visual_mode_operators_spec.lua
@@ -372,6 +372,7 @@ describe('Visual mode and operator', function()
end)
end)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
it('gv in exclusive select mode after operation', function()
source([[
$put ='zzz '
diff --git a/test/functional/legacy/096_location_list_spec.lua b/test/functional/legacy/096_location_list_spec.lua
index 85c4fe0ec4..b21a2085f6 100644
--- a/test/functional/legacy/096_location_list_spec.lua
+++ b/test/functional/legacy/096_location_list_spec.lua
@@ -11,10 +11,10 @@ local source = helpers.source
local clear, command, expect = helpers.clear, helpers.command, helpers.expect
describe('location list', function()
+ local test_file = 'Xtest-096_location_list.out'
setup(clear)
-
teardown(function()
- os.remove('test.out')
+ os.remove(test_file)
end)
it('is working', function()
@@ -70,9 +70,9 @@ describe('location list', function()
endfor
]])
- -- Set up the result buffer "test.out".
+ -- Set up the result buffer.
command('enew')
- command('w! test.out')
+ command('w! '..test_file)
command('b 1')
-- Test A.
@@ -99,7 +99,7 @@ describe('location list', function()
command([[let locationListFileName = substitute(getline(line('.')), '\([^|]*\)|.*', '\1', '')]])
command('wincmd n')
command('wincmd K')
- command('b test.out')
+ command('b '..test_file)
-- Prepare test output and write it to the result buffer.
command([[let fileName = substitute(fileName, '\\', '/', 'g')]])
@@ -132,7 +132,7 @@ describe('location list', function()
command('let numberOfWindowsOpen = winnr("$")')
command('wincmd n')
command('wincmd K')
- command('b test.out')
+ command('b '..test_file)
-- Prepare test output and write it to the result buffer.
command('call append(line("$"), "Test B:")')
@@ -170,7 +170,7 @@ describe('location list', function()
command('let bufferName = expand("%")')
command('wincmd n')
command('wincmd K')
- command('b test.out')
+ command('b '..test_file)
-- Prepare test output and write it to the result buffer.
command([[let bufferName = substitute(bufferName, '\\', '/', 'g')]])
diff --git a/test/functional/legacy/097_glob_path_spec.lua b/test/functional/legacy/097_glob_path_spec.lua
index 6b63a317f1..907f0665ae 100644
--- a/test/functional/legacy/097_glob_path_spec.lua
+++ b/test/functional/legacy/097_glob_path_spec.lua
@@ -6,15 +6,19 @@ local helpers = require('test.functional.helpers')(after_each)
local clear = helpers.clear
local command, expect = helpers.command, helpers.expect
-if helpers.pending_win32(pending) then return end
-
describe('glob() and globpath()', function()
setup(clear)
setup(function()
- os.execute("mkdir -p sautest/autoload")
- os.execute("touch sautest/autoload/Test104.vim")
- os.execute("touch sautest/autoload/footest.vim")
+ if helpers.iswin() then
+ os.execute("md sautest\\autoload")
+ os.execute(".>sautest\\autoload\\Test104.vim 2>nul")
+ os.execute(".>sautest\\autoload\\footest.vim 2>nul")
+ else
+ os.execute("mkdir -p sautest/autoload")
+ os.execute("touch sautest/autoload/Test104.vim")
+ os.execute("touch sautest/autoload/footest.vim")
+ end
end)
it('is working', function()
@@ -24,29 +28,55 @@ describe('glob() and globpath()', function()
-- Consistent sorting of file names
command('set nofileignorecase')
- command([[$put =glob('Xxx\{')]])
- command([[$put =glob('Xxx\$')]])
+ if helpers.iswin() then
+ command([[$put =glob('Xxx{')]])
+ command([[$put =glob('Xxx$')]])
+
+ command('silent w! Xxx{')
+ command([[w! Xxx$]])
+ command([[$put =glob('Xxx{')]])
+ command([[$put =glob('Xxx$')]])
+
+ command([[$put =string(globpath('sautest\autoload', '*.vim'))]])
+ command([[$put =string(globpath('sautest\autoload', '*.vim', 0, 1))]])
+ expect([=[
+
+
- command('silent w! Xxx{')
- command([[w! Xxx\$]])
- command([[$put =glob('Xxx\{')]])
- command([[$put =glob('Xxx\$')]])
+ Xxx{
+ Xxx$
+ 'sautest\autoload\Test104.vim
+ sautest\autoload\footest.vim'
+ ['sautest\autoload\Test104.vim', 'sautest\autoload\footest.vim']]=])
+ else
+ command([[$put =glob('Xxx\{')]])
+ command([[$put =glob('Xxx\$')]])
- command("$put =string(globpath('sautest/autoload', '*.vim'))")
- command("$put =string(globpath('sautest/autoload', '*.vim', 0, 1))")
+ command('silent w! Xxx{')
+ command([[w! Xxx\$]])
+ command([[$put =glob('Xxx\{')]])
+ command([[$put =glob('Xxx\$')]])
- expect([=[
+ command("$put =string(globpath('sautest/autoload', '*.vim'))")
+ command("$put =string(globpath('sautest/autoload', '*.vim', 0, 1))")
+ expect([=[
- Xxx{
- Xxx$
- 'sautest/autoload/Test104.vim
- sautest/autoload/footest.vim'
- ['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim']]=])
+ Xxx{
+ Xxx$
+ 'sautest/autoload/Test104.vim
+ sautest/autoload/footest.vim'
+ ['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim']]=])
+ end
end)
teardown(function()
- os.execute("rm -rf sautest Xxx{ Xxx$")
+ if helpers.iswin() then
+ os.execute('del /q/f Xxx{ Xxx$')
+ os.execute('rd /q sautest')
+ else
+ os.execute("rm -rf sautest Xxx{ Xxx$")
+ end
end)
end)
diff --git a/test/functional/legacy/103_visual_mode_reset_spec.lua b/test/functional/legacy/103_visual_mode_reset_spec.lua
index d05b47fa32..f5cd861019 100644
--- a/test/functional/legacy/103_visual_mode_reset_spec.lua
+++ b/test/functional/legacy/103_visual_mode_reset_spec.lua
@@ -32,7 +32,7 @@ describe('E315 error', function()
-- :del the ex-way will require the colon operator which resets the
-- visual mode thus preventing the problem:
feed('GV:call TriggerTheProblem()<cr>')
-
+
source([[
%del _
call append(line('$'), g:msg)
@@ -41,7 +41,7 @@ describe('E315 error', function()
-- Assert buffer contents.
expect([[
-
+
Everything's fine.]])
end)
end)
diff --git a/test/functional/legacy/106_errorformat_spec.lua b/test/functional/legacy/106_errorformat_spec.lua
index 5d76adc786..3f017a704f 100644
--- a/test/functional/legacy/106_errorformat_spec.lua
+++ b/test/functional/legacy/106_errorformat_spec.lua
@@ -15,9 +15,9 @@ describe('errorformat', function()
command("$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))")
command("cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY']")
command("$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))")
-
+
expect([=[
-
+
[['W', 1], ['E^@CCCC', 1]]
[['W', 1], ['E^@CCCC', 1]]
[['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]]]=])
diff --git a/test/functional/legacy/107_adjust_window_and_contents_spec.lua b/test/functional/legacy/107_adjust_window_and_contents_spec.lua
index 836a0f8f24..239f60341a 100644
--- a/test/functional/legacy/107_adjust_window_and_contents_spec.lua
+++ b/test/functional/legacy/107_adjust_window_and_contents_spec.lua
@@ -8,8 +8,6 @@ local clear = helpers.clear
local insert = helpers.insert
local command = helpers.command
-if helpers.pending_win32(pending) then return end
-
describe('107', function()
setup(clear)
diff --git a/test/functional/legacy/108_backtrace_debug_commands_spec.lua b/test/functional/legacy/108_backtrace_debug_commands_spec.lua
index b2e2fa4ed3..ff1917e90c 100644
--- a/test/functional/legacy/108_backtrace_debug_commands_spec.lua
+++ b/test/functional/legacy/108_backtrace_debug_commands_spec.lua
@@ -89,18 +89,18 @@ describe('108', function()
-- Assert buffer contents.
expect([=[
-
-
-
+
+
+
- show backtrace:
-
+
2 function Foo[2]
1 Bar[2]
->0 Bazz
line 2: let var3 = "another var"
-
+
show variables on different levels:
-
+
6
2 function Foo[2]
->1 Bar[2]
@@ -112,9 +112,9 @@ describe('108', function()
0 Bazz
line 2: let var3 = "another var"
1
-
+
- undefined vars:
-
+
undefined var3 on former level:
Error detected while processing function Foo[2]..Bar[2]..Bazz:
line 3:
@@ -122,7 +122,7 @@ describe('108', function()
E15: Invalid expression: var3
here var3 is defined with "another var":
another var
-
+
undefined var2 on former level
Error detected while processing function Foo[2]..Bar:
line 3:
@@ -130,37 +130,37 @@ describe('108', function()
E15: Invalid expression: var2
here var2 is defined with 10:
10
-
+
- backtrace movements:
-
+
1 function Foo[2]
->0 Bar
line 3: End of function
-
+
next command cannot go down, we are on bottom
-
+
frame is zero
-
+
next command cannot go up, we are on top
-
+
frame at highest level: 1
->1 function Foo[2]
0 Bar
line 3: End of function
fil is not frame or finish, it is file
"[No Name]" --No lines in buffer--
-
+
- relative backtrace movement
-
+
1 function Foo[2]
->0 Bar
line 3: End of function
->1 function Foo[2]
0 Bar
line 3: End of function
-
+
- go beyond limits does not crash
-
+
frame at highest level: 1
->1 function Foo[2]
0 Bar
@@ -169,7 +169,7 @@ describe('108', function()
1 function Foo[2]
->0 Bar
line 3: End of function
-
+
- final result 19:
19
]=])
diff --git a/test/functional/legacy/arglist_spec.lua b/test/functional/legacy/arglist_spec.lua
index 191f145095..bd65e549ef 100644
--- a/test/functional/legacy/arglist_spec.lua
+++ b/test/functional/legacy/arglist_spec.lua
@@ -4,8 +4,6 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, command, eq = helpers.clear, helpers.command, helpers.eq
local eval, exc_exec, neq = helpers.eval, helpers.exc_exec, helpers.neq
-if helpers.pending_win32(pending) then return end
-
describe('argument list commands', function()
before_each(clear)
@@ -222,20 +220,19 @@ describe('argument list commands', function()
eq({'a', 'b'}, eval('argv()'))
eq('b', eval('expand("%:t")'))
command('argedit a')
- eq({'a', 'b'}, eval('argv()'))
+ eq({'a', 'b', 'a'}, eval('argv()'))
eq('a', eval('expand("%:t")'))
command('argedit c')
- eq({'a', 'c', 'b'}, eval('argv()'))
+ eq({'a', 'b', 'a', 'c'}, eval('argv()'))
command('0argedit x')
- eq({'x', 'a', 'c', 'b'}, eval('argv()'))
+ eq({'x', 'a', 'b', 'a', 'c'}, eval('argv()'))
command('enew! | set modified')
assert_fails('argedit y', 'E37:')
command('argedit! y')
- eq({'x', 'y', 'a', 'c', 'b'}, eval('argv()'))
+ eq({'x', 'y', 'y', 'a', 'b', 'a', 'c'}, eval('argv()'))
command('%argd')
- -- Nvim allows unescaped spaces in filename on all platforms. #6010
command('argedit a b')
- eq({'a b'}, eval('argv()'))
+ eq({'a', 'b'}, eval('argv()'))
end)
it('test for :argdelete command', function()
diff --git a/test/functional/legacy/assert_spec.lua b/test/functional/legacy/assert_spec.lua
index 2f342ec9a3..381461dc4f 100644
--- a/test/functional/legacy/assert_spec.lua
+++ b/test/functional/legacy/assert_spec.lua
@@ -89,7 +89,7 @@ describe('assert function:', function()
it('should change v:errors when expected is equal to actual', function()
call('assert_notequal', 'foo', 'foo')
- expected_errors({"Expected 'foo' differs from 'foo'"})
+ expected_errors({"Expected not equal to 'foo'"})
end)
end)
@@ -253,6 +253,11 @@ describe('assert function:', function()
"Expected range 5 - 7, but got 8",
})
end)
+
+ it('assert_inrange(1, 1) returns E119', function()
+ eq('Vim(call):E119: Not enough arguments for function: assert_inrange',
+ exc_exec("call assert_inrange(1, 1)"))
+ end)
end)
-- assert_report({msg})
diff --git a/test/functional/legacy/breakindent_spec.lua b/test/functional/legacy/breakindent_spec.lua
index 7594dba16c..fd25e809e0 100644
--- a/test/functional/legacy/breakindent_spec.lua
+++ b/test/functional/legacy/breakindent_spec.lua
@@ -7,6 +7,9 @@ local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers
describe('breakindent', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
it('is working', function()
insert('dummy text')
diff --git a/test/functional/legacy/command_count_spec.lua b/test/functional/legacy/command_count_spec.lua
index ad5368430a..8707c0459c 100644
--- a/test/functional/legacy/command_count_spec.lua
+++ b/test/functional/legacy/command_count_spec.lua
@@ -4,6 +4,7 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, source, expect = helpers.clear, helpers.source, helpers.expect
local feed_command = helpers.feed_command
+-- luacheck: ignore 613 (Trailing whitespace in a string)
describe('command_count', function()
it('is working', function()
-- It is relevant for the test to load a file initially. If this is
@@ -133,8 +134,8 @@ describe('command_count', function()
let g:lines = []
func BufStatus()
call add(g:lines,
- \ 'aaa: ' . buflisted(g:buf_aaa) .
- \ ' bbb: ' . buflisted(g:buf_bbb) .
+ \ 'aaa: ' . buflisted(g:buf_aaa) .
+ \ ' bbb: ' . buflisted(g:buf_bbb) .
\ ' ccc: ' . buflisted(g:buf_ccc))
endfunc
se nohidden
@@ -214,7 +215,7 @@ describe('command_count', function()
RangeTabsAll 1 5
RangeLines 2 5
LocalRangeLines 2 5
-
+
5argu E16: Invalid range
4argu d
1argu a
@@ -225,7 +226,7 @@ describe('command_count', function()
$tabe 2
$+tabe E16: Invalid range
0tabm x
-
+
aaa: 1 bbb: 1 ccc: 1
aaa: 1 bbb: 0 ccc: 0
aaa: 0 bbb: 0 ccc: 0
diff --git a/test/functional/legacy/delete_spec.lua b/test/functional/legacy/delete_spec.lua
index aeaab335e8..5ef456bfe3 100644
--- a/test/functional/legacy/delete_spec.lua
+++ b/test/functional/legacy/delete_spec.lua
@@ -2,8 +2,6 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, source = helpers.clear, helpers.source
local eq, eval, command = helpers.eq, helpers.eval, helpers.command
-if helpers.pending_win32(pending) then return end
-
describe('Test for delete()', function()
before_each(clear)
@@ -48,7 +46,11 @@ describe('Test for delete()', function()
split Xfile
call setline(1, ['a', 'b'])
wq
- silent !ln -s Xfile Xlink
+ if has('win32')
+ silent !mklink Xlink Xfile
+ else
+ silent !ln -s Xfile Xlink
+ endif
]])
-- Delete the link, not the file
eq(0, eval("delete('Xlink')"))
@@ -58,7 +60,11 @@ describe('Test for delete()', function()
it('symlink directory delete', function()
command("call mkdir('Xdir1')")
- command("silent !ln -s Xdir1 Xlink")
+ if helpers.iswin() then
+ command("silent !mklink /j Xlink Xdir1")
+ else
+ command("silent !ln -s Xdir1 Xlink")
+ end
eq(1, eval("isdirectory('Xdir1')"))
eq(1, eval("isdirectory('Xlink')"))
-- Delete the link, not the directory
@@ -78,7 +84,11 @@ describe('Test for delete()', function()
w Xdir3/subdir/Xfile
w Xdir4/Xfile
close
- silent !ln -s ../Xdir4 Xdir3/Xlink
+ if has('win32')
+ silent !mklink /j Xdir3\Xlink Xdir4
+ else
+ silent !ln -s ../Xdir4 Xdir3/Xlink
+ endif
]])
eq(1, eval("isdirectory('Xdir3')"))
diff --git a/test/functional/legacy/edit_spec.lua b/test/functional/legacy/edit_spec.lua
new file mode 100644
index 0000000000..91d602924c
--- /dev/null
+++ b/test/functional/legacy/edit_spec.lua
@@ -0,0 +1,25 @@
+-- Test for edit functions
+-- See also: src/nvim/testdir/test_edit.vim
+
+local helpers = require('test.functional.helpers')(after_each)
+local source = helpers.source
+local eq, eval = helpers.eq, helpers.eval
+local funcs = helpers.funcs
+local clear = helpers.clear
+
+describe('edit', function()
+ before_each(clear)
+
+ it('reset insertmode from i_ctrl-r_=', function()
+ source([=[
+ call setline(1, ['abc'])
+ call cursor(1, 4)
+ call feedkeys(":set im\<cr>ZZZ\<c-r>=setbufvar(1,'&im', 0)\<cr>",'tnix')
+ ]=])
+ eq({'abZZZc'}, funcs.getline(1,'$'))
+ eq({0, 1, 1, 0}, funcs.getpos('.'))
+ eq(0, eval('&im'))
+ end)
+
+end)
+
diff --git a/test/functional/legacy/erasebackword_spec.lua b/test/functional/legacy/erasebackword_spec.lua
index 33b7704b65..8ca64df328 100644
--- a/test/functional/legacy/erasebackword_spec.lua
+++ b/test/functional/legacy/erasebackword_spec.lua
@@ -6,6 +6,7 @@ local clear, feed, expect = helpers.clear, helpers.feed, helpers.expect
describe('CTRL-W in Insert mode', function()
setup(clear)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
it('works for multi-byte characters', function()
for i = 1, 6 do
diff --git a/test/functional/legacy/fixeol_spec.lua b/test/functional/legacy/fixeol_spec.lua
index 801451b300..50236e8617 100644
--- a/test/functional/legacy/fixeol_spec.lua
+++ b/test/functional/legacy/fixeol_spec.lua
@@ -4,15 +4,14 @@ local helpers = require('test.functional.helpers')(after_each)
local feed = helpers.feed
local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers.expect
-if helpers.pending_win32(pending) then return end
-
describe('fixeol', function()
local function rmtestfiles()
- os.remove('test.out')
- os.remove('XXEol')
- os.remove('XXNoEol')
- os.remove('XXTestEol')
- os.remove('XXTestNoEol')
+ feed_command('%bwipeout!')
+ feed_command('call delete("test.out")')
+ feed_command('call delete("XXEol")')
+ feed_command('call delete("XXNoEol")')
+ feed_command('call delete("XXTestEol")')
+ feed_command('call delete("XXTestNoEol")')
end
setup(function()
clear()
diff --git a/test/functional/legacy/fnamemodify_spec.lua b/test/functional/legacy/fnamemodify_spec.lua
index d8ecbfe058..7e859bf0cf 100644
--- a/test/functional/legacy/fnamemodify_spec.lua
+++ b/test/functional/legacy/fnamemodify_spec.lua
@@ -4,8 +4,6 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, source = helpers.clear, helpers.source
local call, eq, nvim = helpers.call, helpers.eq, helpers.meths
-if helpers.pending_win32(pending) then return end
-
local function expected_empty()
eq({}, nvim.get_vvar('errors'))
end
@@ -16,17 +14,21 @@ describe('filename modifiers', function()
source([=[
func Test_fnamemodify()
- let tmpdir = resolve('/tmp')
+ if has('win32')
+ set shellslash
+ else
+ set shell=sh
+ endif
+ let tmpdir = resolve($TMPDIR)
+ call assert_true(isdirectory(tmpdir))
execute 'cd '. tmpdir
- set shell=sh
- set shellslash
let $HOME=fnamemodify('.', ':p:h:h:h')
call assert_equal('/', fnamemodify('.', ':p')[-1:])
- call assert_equal('p', fnamemodify('.', ':p:h')[-1:])
+ call assert_equal(tmpdir[strchars(tmpdir) - 1], fnamemodify('.', ':p:h')[-1:])
call assert_equal('t', fnamemodify('test.out', ':p')[-1:])
call assert_equal('test.out', fnamemodify('test.out', ':.'))
call assert_equal('../testdir/a', fnamemodify('../testdir/a', ':.'))
- call assert_equal('test.out', fnamemodify('test.out', ':~'))
+ call assert_equal(fnamemodify(tmpdir, ':~').'/test.out', fnamemodify('test.out', ':~'))
call assert_equal('../testdir/a', fnamemodify('../testdir/a', ':~'))
call assert_equal('a', fnamemodify('../testdir/a', ':t'))
call assert_equal('', fnamemodify('.', ':p:t'))
@@ -53,8 +55,10 @@ describe('filename modifiers', function()
quit
call assert_equal("'abc\ndef'", fnamemodify("abc\ndef", ':S'))
- set shell=tcsh
- call assert_equal("'abc\\\ndef'", fnamemodify("abc\ndef", ':S'))
+ if executable('tcsh')
+ set shell=tcsh
+ call assert_equal("'abc\\\ndef'", fnamemodify("abc\ndef", ':S'))
+ endif
endfunc
func Test_expand()
diff --git a/test/functional/legacy/getcwd_spec.lua b/test/functional/legacy/getcwd_spec.lua
index 8fb31ccd22..eae13da528 100644
--- a/test/functional/legacy/getcwd_spec.lua
+++ b/test/functional/legacy/getcwd_spec.lua
@@ -4,8 +4,6 @@ local helpers = require('test.functional.helpers')(after_each)
local eq, eval, source = helpers.eq, helpers.eval, helpers.source
local call, clear, command = helpers.call, helpers.clear, helpers.command
-if helpers.pending_win32(pending) then return end
-
describe('getcwd', function()
before_each(clear)
diff --git a/test/functional/legacy/increment_spec.lua b/test/functional/legacy/increment_spec.lua
index 15273a4ad5..d51f9a2e02 100644
--- a/test/functional/legacy/increment_spec.lua
+++ b/test/functional/legacy/increment_spec.lua
@@ -685,7 +685,7 @@ describe('Ctrl-A/Ctrl-X on visual selections', function()
" Text:
" 1 23
" 4 56
- "
+ "
" Expected:
" 1) f2 Ctrl-V jl <ctrl-a>, repeat twice afterwards with .
" 1 26
diff --git a/test/functional/legacy/listchars_spec.lua b/test/functional/legacy/listchars_spec.lua
index 3c0fa48e76..cffb9fd376 100644
--- a/test/functional/legacy/listchars_spec.lua
+++ b/test/functional/legacy/listchars_spec.lua
@@ -4,12 +4,14 @@ local helpers = require('test.functional.helpers')(after_each)
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers.expect
+-- luacheck: ignore 621 (Indentation)
describe("'listchars'", function()
before_each(function()
clear()
feed_command('set listchars&vi')
end)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
it("works with 'list'", function()
source([[
function GetScreenCharsForLine(lnum)
diff --git a/test/functional/legacy/listlbr_spec.lua b/test/functional/legacy/listlbr_spec.lua
index d39125c9e6..f70d55f4a3 100644
--- a/test/functional/legacy/listlbr_spec.lua
+++ b/test/functional/legacy/listlbr_spec.lua
@@ -7,6 +7,9 @@ local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers
describe('listlbr', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
+ -- luacheck: ignore 611 (Line contains only whitespaces)
+ -- luacheck: ignore 613 (Trailing whitespaces in a string)
it('is working', function()
insert([[
dummy text]])
@@ -20,20 +23,20 @@ describe('listlbr', function()
feed_command('set ts=4 sw=4 sts=4 linebreak sbr=+ wrap')
source([[
fu! ScreenChar(width)
- let c=''
- for j in range(1,4)
- for i in range(1,a:width)
- let c.=nr2char(screenchar(j, i))
- endfor
- let c.="\n"
- endfor
- return c
+ let c=''
+ for j in range(1,4)
+ for i in range(1,a:width)
+ let c.=nr2char(screenchar(j, i))
+ endfor
+ let c.="\n"
+ endfor
+ return c
endfu
fu! DoRecordScreen()
- wincmd l
- $put =printf(\"\n%s\", g:test)
- $put =g:line
- wincmd p
+ wincmd l
+ $put =printf(\"\n%s\", g:test)
+ $put =g:line
+ wincmd p
endfu
]])
feed_command('let g:test="Test 1: set linebreak"')
diff --git a/test/functional/legacy/listlbr_utf8_spec.lua b/test/functional/legacy/listlbr_utf8_spec.lua
index f06bca72ba..d7f4c71af2 100644
--- a/test/functional/legacy/listlbr_utf8_spec.lua
+++ b/test/functional/legacy/listlbr_utf8_spec.lua
@@ -8,6 +8,8 @@ local clear, expect = helpers.clear, helpers.expect
describe('linebreak', function()
setup(clear)
+ -- luacheck: ignore 621 (Indentation)
+ -- luacheck: ignore 613 (Trailing whitespaces in a string)
it('is working', function()
source([[
set wildchar=^E
@@ -18,20 +20,20 @@ describe('linebreak', function()
norm! zt
set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
fu! ScreenChar(width, lines)
- let c=''
- for j in range(1,a:lines)
- for i in range(1,a:width)
- let c.=nr2char(screenchar(j, i))
- endfor
+ let c=''
+ for j in range(1,a:lines)
+ for i in range(1,a:width)
+ let c.=nr2char(screenchar(j, i))
+ endfor
let c.="\n"
- endfor
- return c
+ endfor
+ return c
endfu
fu! DoRecordScreen()
- wincmd l
- $put =printf(\"\n%s\", g:test)
- $put =g:line
- wincmd p
+ wincmd l
+ $put =printf(\"\n%s\", g:test)
+ $put =g:line
+ wincmd p
endfu
"
let g:test ="Test 1: set linebreak + set list + fancy listchars"
@@ -148,22 +150,22 @@ describe('linebreak', function()
-- Assert buffer contents.
expect([[
-
+
abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
-
+
Test 1: set linebreak + set list + fancy listchars
▕———abcdef
+hijklmn▕———
+pqrstuvwxyz␣1060ABC
+DEFGHIJKLMNOPˑ¶
-
+
Test 2: set nolinebreak list
▕———abcdef hijklmn▕—
+pqrstuvwxyz␣1060ABC
+DEFGHIJKLMNOPˑ¶
*mask = nil;
-
+
Test 3: set linebreak nolist
*mask = nil;
~
@@ -177,7 +179,7 @@ describe('linebreak', function()
#define MSG_MODE_CONSOLE 2
#define MSG_MODE_FILE_AND_CONSOLE 3
#define MSG_MODE_FILE_THEN_CONSOLE 4
-
+
Test 4: set linebreak list listchars and concealing
#define ABCDE>-->---1
#define >CDEF>-->---1
@@ -187,7 +189,7 @@ describe('linebreak', function()
#define >_CONSOLE>---------->---2
#define >_FILE_AND_CONSOLE>---------3
bbeeeeee ; some text
-
+
Test 5: set linebreak list listchars and concealing part2
eeeeee>--->-;>some text
Test 6: Screenattributes for comment
@@ -196,10 +198,10 @@ describe('linebreak', function()
Attribut 0 and 1 and 3 and 5 are different!
Test 8: set linebreak with visual block mode and v_b_A and selection=exclusive and multibyte char
long line: foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar TARGETÃx' at end
-
+
a b c
a b c
-
+
Test 9: a multibyte sign and colorcolumn
+a b c¶
diff --git a/test/functional/legacy/marks_spec.lua b/test/functional/legacy/marks_spec.lua
index bcec179ca2..470ea49652 100644
--- a/test/functional/legacy/marks_spec.lua
+++ b/test/functional/legacy/marks_spec.lua
@@ -7,6 +7,7 @@ describe('marks', function()
clear()
end)
+ -- luacheck: ignore 621 (Indentation)
it('restores a deleted mark after delete-undo-redo-undo', function()
insert([[
diff --git a/test/functional/legacy/options_spec.lua b/test/functional/legacy/options_spec.lua
index 4f4d4ceaf9..1db7afc7a7 100644
--- a/test/functional/legacy/options_spec.lua
+++ b/test/functional/legacy/options_spec.lua
@@ -21,7 +21,7 @@ describe('set', function()
$put =&path]])
expect([[
-
+
foo,,bar]])
end)
end)
diff --git a/test/functional/legacy/packadd_spec.lua b/test/functional/legacy/packadd_spec.lua
index c280888dda..fb308475c0 100644
--- a/test/functional/legacy/packadd_spec.lua
+++ b/test/functional/legacy/packadd_spec.lua
@@ -9,17 +9,15 @@ local function expected_empty()
eq({}, nvim.get_vvar('errors'))
end
-if helpers.pending_win32(pending) then return end
-
describe('packadd', function()
before_each(function()
clear()
source([=[
func SetUp()
- let s:topdir = expand('%:p:h') . '/Xdir'
+ let s:topdir = expand(expand('%:p:h') . '/Xdir')
exe 'set packpath=' . s:topdir
- let s:plugdir = s:topdir . '/pack/mine/opt/mytest'
+ let s:plugdir = expand(s:topdir . '/pack/mine/opt/mytest')
endfunc
func TearDown()
@@ -52,8 +50,8 @@ describe('packadd', function()
call assert_equal(77, g:plugin_also_works)
call assert_true(17, g:ftdetect_works)
call assert_true(len(&rtp) > len(rtp))
- call assert_true(&rtp =~ (s:plugdir . '\($\|,\)'))
- call assert_true(&rtp =~ (s:plugdir . '/after$'))
+ call assert_true(&rtp =~ (escape(s:plugdir, '\') . '\($\|,\)'))
+ call assert_true(&rtp =~ escape(expand(s:plugdir . '/after$'), '\'))
" Check exception
call assert_fails("packadd directorynotfound", 'E919:')
@@ -74,7 +72,7 @@ describe('packadd', function()
packadd! mytest
call assert_true(len(&rtp) > len(rtp))
- call assert_true(&rtp =~ (s:plugdir . '\($\|,\)'))
+ call assert_true(&rtp =~ (escape(s:plugdir, '\') . '\($\|,\)'))
call assert_equal(0, g:plugin_works)
" check the path is not added twice
@@ -83,6 +81,42 @@ describe('packadd', function()
call assert_equal(new_rtp, &rtp)
endfunc
+ func Test_packadd_symlink_dir()
+ let top2_dir = expand(s:topdir . '/Xdir2')
+ let real_dir = expand(s:topdir . '/Xsym')
+ call mkdir(real_dir, 'p')
+ if has('win32')
+ exec "silent! !mklink /d" top2_dir "Xsym"
+ else
+ exec "silent! !ln -s Xsym" top2_dir
+ endif
+ let &rtp = top2_dir . ',' . expand(top2_dir . '/after')
+ let &packpath = &rtp
+
+ let s:plugdir = expand(top2_dir . '/pack/mine/opt/mytest')
+ call mkdir(s:plugdir . '/plugin', 'p')
+
+ exe 'split ' . s:plugdir . '/plugin/test.vim'
+ call setline(1, 'let g:plugin_works = 44')
+ wq
+ let g:plugin_works = 0
+
+ packadd mytest
+
+ " Must have been inserted in the middle, not at the end
+ call assert_true(&rtp =~ escape(expand('/pack/mine/opt/mytest').',', '\'))
+ call assert_equal(44, g:plugin_works)
+
+ " No change when doing it again.
+ let rtp_before = &rtp
+ packadd mytest
+ call assert_equal(rtp_before, &rtp)
+
+ set rtp&
+ let rtp = &rtp
+ exec "silent !" (has('win32') ? "rd /q/s" : "rm") top2_dir
+ endfunc
+
func Test_packloadall()
" plugin foo with an autoload directory
let fooplugindir = &packpath . '/pack/mine/start/foo/plugin'
@@ -137,9 +171,9 @@ describe('packadd', function()
helptags ALL
- let tags1 = readfile(docdir1 . '/tags')
+ let tags1 = readfile(docdir1 . '/tags')
call assert_true(tags1[0] =~ 'look-here')
- let tags2 = readfile(docdir2 . '/tags')
+ let tags2 = readfile(docdir2 . '/tags')
call assert_true(tags2[0] =~ 'look-away')
endfunc
@@ -227,6 +261,11 @@ describe('packadd', function()
expected_empty()
end)
+ it('works with symlinks', function()
+ call('Test_packadd_symlink_dir')
+ expected_empty()
+ end)
+
it('works with :packloadall', function()
call('Test_packloadall')
expected_empty()
diff --git a/test/functional/legacy/search_spec.lua b/test/functional/legacy/search_spec.lua
index 5f71861821..277d8d6c7f 100644
--- a/test/functional/legacy/search_spec.lua
+++ b/test/functional/legacy/search_spec.lua
@@ -6,6 +6,7 @@ local eq = helpers.eq
local eval = helpers.eval
local feed = helpers.feed
local funcs = helpers.funcs
+local wait = helpers.wait
describe('search cmdline', function()
local screen
@@ -471,4 +472,113 @@ describe('search cmdline', function()
coladd = 0, skipcol = 0, curswant = 0},
funcs.winsaveview())
end)
+
+ it("CTRL-G with 'incsearch' and ? goes in the right direction", function()
+ -- oldtest: Test_search_cmdline4().
+ screen:detach()
+ screen = Screen.new(40, 4)
+ screen:attach()
+ screen:set_default_attr_ids({
+ inc = {reverse = true},
+ err = { foreground = Screen.colors.Grey100, background = Screen.colors.Red },
+ more = { bold = true, foreground = Screen.colors.SeaGreen4 },
+ tilde = { bold = true, foreground = Screen.colors.Blue1 },
+ })
+ command('enew!')
+ funcs.setline(1, {' 1 the first', ' 2 the second', ' 3 the third'})
+ command('set laststatus=0 shortmess+=s')
+ command('set incsearch')
+ command('$')
+ -- Send the input in chunks, so the cmdline logic regards it as
+ -- "interactive". This mimics Vim's test_override("char_avail").
+ -- (See legacy test: test_search.vim)
+ feed('?the')
+ wait()
+ feed('<c-g>')
+ wait()
+ feed('<cr>')
+ screen:expect([[
+ 1 the first |
+ 2 the second |
+ 3 ^the third |
+ ?the |
+ ]])
+
+ command('$')
+ feed('?the')
+ wait()
+ feed('<c-g>')
+ wait()
+ feed('<c-g>')
+ wait()
+ feed('<cr>')
+ screen:expect([[
+ 1 ^the first |
+ 2 the second |
+ 3 the third |
+ ?the |
+ ]])
+
+ command('$')
+ feed('?the')
+ wait()
+ feed('<c-g>')
+ wait()
+ feed('<c-g>')
+ wait()
+ feed('<c-g>')
+ wait()
+ feed('<cr>')
+ screen:expect([[
+ 1 the first |
+ 2 ^the second |
+ 3 the third |
+ ?the |
+ ]])
+
+ command('$')
+ feed('?the')
+ wait()
+ feed('<c-t>')
+ wait()
+ feed('<cr>')
+ screen:expect([[
+ 1 ^the first |
+ 2 the second |
+ 3 the third |
+ ?the |
+ ]])
+
+ command('$')
+ feed('?the')
+ wait()
+ feed('<c-t>')
+ wait()
+ feed('<c-t>')
+ wait()
+ feed('<cr>')
+ screen:expect([[
+ 1 the first |
+ 2 the second |
+ 3 ^the third |
+ ?the |
+ ]])
+
+ command('$')
+ feed('?the')
+ wait()
+ feed('<c-t>')
+ wait()
+ feed('<c-t>')
+ wait()
+ feed('<c-t>')
+ wait()
+ feed('<cr>')
+ screen:expect([[
+ 1 the first |
+ 2 ^the second |
+ 3 the third |
+ ?the |
+ ]])
+ end)
end)
diff --git a/test/functional/legacy/tagcase_spec.lua b/test/functional/legacy/tagcase_spec.lua
index ed2876a375..9ca0e0009f 100644
--- a/test/functional/legacy/tagcase_spec.lua
+++ b/test/functional/legacy/tagcase_spec.lua
@@ -53,11 +53,11 @@ describe("'tagcase' option", function()
-- Verify that the correct number of matching tags is found for all values of
-- 'ignorecase' and global and local values 'tagcase', in all combinations.
insert([[
-
+
Foo
Bar
foo
-
+
end text]])
source([[
@@ -70,7 +70,7 @@ describe("'tagcase' option", function()
endfor
endfor
endfor
-
+
1,/^end text$/d]])
expect([[
diff --git a/test/functional/legacy/utf8_spec.lua b/test/functional/legacy/utf8_spec.lua
index 02de6ab735..5b93f25b24 100644
--- a/test/functional/legacy/utf8_spec.lua
+++ b/test/functional/legacy/utf8_spec.lua
@@ -54,6 +54,7 @@ describe('utf8', function()
eq(1, eval('strchars("\\u20dd", 1)'))
end)
+ -- luacheck: ignore 613 (Trailing whitespace in a string)
it('customlist completion', function()
source([[
function! CustomComplete1(lead, line, pos)
diff --git a/test/functional/legacy/wordcount_spec.lua b/test/functional/legacy/wordcount_spec.lua
index 5412903866..0c8bd2cdcc 100644
--- a/test/functional/legacy/wordcount_spec.lua
+++ b/test/functional/legacy/wordcount_spec.lua
@@ -6,8 +6,6 @@ local clear, command = helpers.clear, helpers.command
local eq, eval = helpers.eq, helpers.eval
local wait = helpers.wait
-if helpers.pending_win32(pending) then return end
-
describe('wordcount', function()
before_each(clear)