Problem: Code style is not check in test scripts.
Solution: Add basic code style check for test files.
94722c5107
Use Test_test_files() from latest Vim.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Too many delete() calls in tests.
Solution: Use deferred delete where possible.
56564964e6
This includes all changes expect changes in test_startup.vim.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem:
When there are multiple inlay hints present at the same position, they
should be rendered in the order they are received in the response from
LSP as per the LSP spec. Currently, this is not respected.
Solution:
Gather all hints for a given position, and then set it in a single
extmark call instead of multiple set_extmark calls. This leads to fewer
extmark calls and correct inlay hints being rendered.
Since lintcommit is a required check, it will always need to be run.
However, the lintcommit script is not designed to work on PRs that
doesn't target master branch (and it's not clear whether it's even
desirable).
To circumvent this we create a "dummy" lintcommit check that is run on
release branches that always passes, thus fulfilling the condition of
the required check.
Problem: In :let-heredoc line continuation is recognized.
Solution: Do not consume line continuation. (Ozaki Kiichi, closesvim/vim#4580)
e96a2498f9
Nvim already sets may_garbage_collect to false in nv_event(), so the
timer change isn't needed.
Other changes have already been ported.
Also fix incorrect port of test in patch 8.1.1356.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
**Problem:** A query file for something like `html_tags` will not be
given html node completion
**Solution:** Check for parser aliases before offering completions
Co-authored-by: Lewis Russell <me@lewisr.dev>
Problem: filetype: Mediawiki files are not recognized
Solution: detect "*.mw" and "*.wiki" as mediawiki filetype,
include basic syntax and filetype plugins.
(AvidSeeker)
closes: vim/vim#15266b5844104ab
Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
Problem: Some command line arguments and regexp errors not tested.
Solution: Add a few test cases. (Dominique Pellé, closesvim/vim#8013)
a2b3e7dc92
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: matchstr() still does not match column offset when done after a
text search.
Solution: Only use the line number for a multi-line search. Fix the test.
(closesvim/vim#10938)
753aead960
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: matchstr() does match column offset. (Yasuhiro Matsumoto)
Solution: Accept line number zero. (closesvim/vim#10938)
75a115e8d6
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Crash when pattern looks below the last line.
Solution: Consider invalid lines to be empty. (closesvim/vim#10938)
13ed494bb5
Comment out the test as it uses Vim9 script and text properties.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Two placed signs in the same line are not combined. E.g. in the
terminal debugger a breakpoint and the PC cannot be both be
displayed.
Solution: Combine the sign column and line highlight attributes.
a2f6e42ded
Nvim already does this in decor_redraw_signs().
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Modifying a sign no longer updates already placed signs.
Solution: Loop over (newly-exposed) placed decorations when modifying a
sign definition. Update placed decor if it belongs to the sign
that is modified.
Github doesn't allow workflows to be run from the `github-actions`
account, which is the default account. This caused the CI on backport
PRs to not be run. The way to circumvent this is to use a token that
essentially "pretends" to be another user, which in turn triggers the CI
as desired.
Also run lintcommit on release branches as that is now a required check,
meaning it must always be run.
Problem: Spellfile code not completely tested.
Solution: Add a few more test cases. (Yegappan Lakshmanan, closesvim/vim#6929)
96fdf4348a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Spellfile code not completely tested.
Solution: Add a few more test cases. (Yegappan Lakshmanan, closesvim/vim#6918)
64e2db6dc6
Fix incorrect spellfile message.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Crash when using NULL list with sign functions.
Solution: Handle a NULL list like an empty list. (issue vim/vim#8260)
5c56da4de8
Nvim's TV_LIST_ITER_MOD() already checks for NULL.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Signals test often fails on FreeBSD.
Solution: Use separate files for Suspend and Resume. (Ken Takata,
closesvim/vim#11065)
a9480dbc8c
Co-authored-by: K.Takata <kentkt@csc.jp>
Problem: TSTP and INT signal tests are not run with valgrind.
Solution: Sleep a bit longer. (closesvim/vim#10614)
61e3784819
Cherry-pick Test_signal_TSTP() from patch 8.2.3941.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: List of distributed files is outdated.
Solution: Update the file list. Minor comment updates.
a72514945b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Tests fail when the float feature is disabled.
Solution: Skip tests that don't work without float support.
5feabe00c4
Cherry-pick Test_ruby_Vim_blob() from patch 8.1.0977 and skip it.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Crash when assert_equal() runs into a NULL string.
Solution: Check for NULL. (Dominique) Add a test.
f155196444
Use the latest version of the test from Vim.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: CI sometimes fails for MinGW.
Solution: Use backslashes in HandleSwapExists(). (Christian Brabandt,
closesvim/vim#9078)
4b2c804767
Co-authored-by: Christian Brabandt <cb@256bit.org>
Problem: Vim9: check for DO_NOT_FREE_CNT is very slow.
Solution: Move to a separate function so it can be skipped by setting
$TEST_SKIP_PAT.
dae453f339
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Auto-merging is a useful feature by github, but it requires required
checks which requires a few adjustments. The primary change is that
required checks can't use `paths` or `paths-ignore` as that risks not
running the job, and required checks must always be run.
A workaround for this is to introduce a dummy workflow which is used for
every path not used in the real workflow. That way the required job is
"always" run as far as github is concerned. The workaround is unweildly
so it's only useful to do it for costly workflows where the potential
benefits are big. If not it's better to simply remove any `paths` or
`paths-ignore` from a workflow instead.