aboutsummaryrefslogtreecommitdiff
path: root/test/functional/shada/marks_spec.lua
Commit message (Collapse)AuthorAge
* test(harness): migrate away from magic globalsJustin M. Keyes2026-07-21
| | | | | | | | | | | | | | | | | | | | | Problem: The magic globals `it`, `describe`, etc., are more trouble than they are worth. - Hooking into `after_each` requires `getfenv()` hacks. - They confuse luals/emmylua, because the top-level `.luarc.json` isn't merged with `test/.luarc.json` (apparently a luals limitation?) - They totally defeat discoverability because the user just has to "know" about the various magic symbols. So they harm DX, which means they serve no purpose at all. Solution: - Expose the test API from `testutil`, so tests can call `t.it()`, `t.describe()`, etc., in the conventional way. - Drop `getfenv()` hacks. - Drop the `setfenv()` injection in `load_chunk`. - Drop `test/_meta.lua`.
* fix(shada): set correct buffer number for local marks on read #39712Guilherme Batalheiro2026-05-16
| | | | | | | | | | Problem: After closing and reopening Neovim, ]' and [' fail with E92: Buffer 0 not found for marks restored from ShaDa. Direct jumps like 'a work because mark_get_local() rewrites fnum before returning, but ]' uses getnextmark() which does not, leaving fnum = 0. Solution: Set .fnum = buf->b_fnum when restoring local marks from ShaDa.
* refactor(test): drop deprecated exc_exec #39242Justin M. Keyes2026-04-20
|
* fix(shada): preserve marks after delete across sessions (#35795)glepnir2025-09-30
| | | | | | | Problem: Marks are lost after `:bdelete` because `ignore_buf()` filters out unlisted buffers during shada mark processing. Solution: Revert to original buffer checks for mark operations, avoiding `!buf->b_p_bl` condition that incorrectly ignores deleted buffers.
* fix(shada): don't add '0' mark if f0 in 'shada'Andre Toerien2025-04-27
|
* feat(shada): don't store jumplist if '0 in 'shada'Andre Toerien2025-04-27
|
* refactor(tests): merge n.spawn/n.spawn_argv into n.new_session #31859Justin M. Keyes2025-01-04
| | | | | | | | | | | | | | | | | Problem: - `n.spawn()` is misleading because it also connects RPC, it's not just "spawning" a process. - It's confusing that `n.spawn()` and `n.spawn_argv()` are separate. Solution: - Replace `n.spawn()`/`n.spawn_argv()` with a single function `n.new_session()`. This name aligns with the existing functions `n.set_session`/`n.get_session`. - Note: removes direct handling of `prepend_argv`, but I doubt that was important or intentional. If callers want to control use of `prepend_argv` then we should add a new flag to `test.session.Opts`. - Move `keep` to first parameter of `n.new_session()`. - Add a `merge` flag to `test.session.Opts` - Mark `_new_argv()` as private. Test should use clear/new_session/spawn_wait instead.
* test: improve test conventionsdundargoc2024-04-23
| | | | | | | | | Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
* refactor(test): inject after_each differentlyLewis Russell2024-04-10
|
* test: improve test conventionsdundargoc2024-04-08
| | | | Work on https://github.com/neovim/neovim/issues/27004.
* test: reduce sleep for file timestamp change (#28196)zeertzjq2024-04-06
| | | | Now that Nvim always supports nanotime, sleeping for some milliseconds is enough.
* test: rename (meths, funcs) -> (api, fn)Lewis Russell2024-01-12
|
* test: normalise nvim bridge functionsLewis Russell2024-01-12
| | | | | - remove helpers.cur*meths - remove helpers.nvim
* test: typing for helpers.methsLewis Russell2024-01-12
|
* refactor: format test/*Justin M. Keyes2024-01-03
|
* fix(shada): update marks when using delmarks! (#24978)Maria José Solano2023-09-03
|
* test(shada/marks_spec): load the file with the marks (#24979)zeertzjq2023-09-02
|
* fix(shada): update deleted marks (#24936)Maria José Solano2023-08-31
| | | | | | Fix #4295 Close #16067 Co-authored-by: chentau <tchen1998@gmail.com>
* fix(tests): check for EOF on exit of nvim properlybfredl2022-06-13
|
* refactor(tests): remove redir_exec #15718Justin M. Keyes2021-09-19
| | | | | | | | | | | Problem - `redir_exec` is obsolete, but it keeps getting used in new tests because people copy existing tests. - Disadvantages of `redir_exec`: - Captures extra junk before the actual error/message that we _want_ to test. - Does not fail on error, unlike e.g. `command()`. Solution - Use new functions like `nvim_exec` and `pcall_err`.
* test: Minimize shada/helpers.lua #10728Justin M. Keyes2019-08-09
|
* jumplist: avoid extra tail entry #9805Abdelhakeem Osama2019-04-02
| | | fixes #9775
* startup: always wait for UI with --embed, unless --headless also is suppliedBjörn Linse2018-09-22
|
* mark: Make sure that jumplist item will not have zero lnumZyX2017-12-24
| | | | Fixes #7169
* test: Windows: Re-enable shada functional testsRui Abreu Ferreira2017-01-08
| | | | | One of the tests remains disabled until we figure out the expected behaviour of mkdir() on Windows when `prot` is passed.
* shada: Save current cursor position before saving jumpsZyX2017-01-04
|
* build: Target luacheck HEAD.Justin M. Keyes2016-11-17
| | | | | | | | | | | | https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606 > If you really want to use bleeding-edge version you should get the > rockspec from master branch, not a fixed commit ... > The correct way to install from a specific commit is cloning that > commit and running "luarocks make" from project directory. The reason > is that running "install" or "build" on an scm rockspec fetches > sources from master but uses build description from the rockspec > itself, which may be outdated.
* test: Fix shada/marks_spec.lua failureJames McCoy2016-10-28
| | | | | | The 'dump and read back mark " from a closed tab' test needs to actually create a second tab. Since it wasn't doing so, the 'q!' command caused nvim to exit and the subsequent 'qall' command fails.
* vim-patch:7.4.2212Grzegorz Milka2016-10-22
| | | | | | | | Problem: Mark " is not set when closing a window in another tab. (Guraga) Solution: Check all tabs for the window to be valid. (based on patch by Hirohito Higashi, closes vim/vim#974) https://github.com/vim/vim/commit/e59215c7dcae17b03daf39517560cfaa03314f5a
* Mark some functional tests as pending in WindowsRui Abreu Ferreira2016-08-26
|
* functests: Check logs in lua codeZyX2016-06-10
| | | | | | It is otherwise impossible to determine which test failed sanitizer/valgrind check. test/functional/helpers.lua module return was changed so that tests which do not provide after_each function to get new check will automatically fail.
* test/functional: clean up according to luacheck (part 1)Marco Hinz2015-11-23
|
* Sort oldfiles in the marks_spec tests to avoid random ordering errors.John Szakmeister2015-11-06
| | | | | According to @ZyX-I in #3594, ordering is not important so let's use @tarruda's fix by sorting the results.
* functests: Add test to check expected behaviour (failing)ZyX2015-10-23
|
* functests: Refactor tests:ZyX2015-10-08
| | | | | | | | - Remove unused variables. - Do not use helpers.nvim_feed in most cases. - Do not use helpers.nvim and helpers.nvim_eval at all. - Add helpers.funcs and helpers.\*meths special tables. Indexing such table creates functions which call helpers.call or helpers.nvim (and similar) with first argument equal to table index.
* functests: Move exc_exec to test.functional.helpersZyX2015-10-08
|
* shada: Use same merging code for jumps and changesZyX2015-10-08
|
* shada,functests: Make sure that v:oldfiles list is reset on :rshada!ZyX2015-10-08
|
* shada,functests: Test how ShaDa support code reacts on errorsZyX2015-10-08
| | | | | | | | | | | | | | Some notes: - Replaced msgpack_unpacker usage with regular xmalloc’ed buffer. Also since msgpack_unpack_next (as well as msgpack_unpacker_next) is not ever going to return MSGPACK_UNPACK_EXTRA_BYTES this condition was checked manually. Function that does return this status is msgpack_unpack, but it is marked as obsolete. - Zero type is checked prior to main switch in shada_read_next_item because otherwise check would be skipped. - Zeroing entry at the start of shada_read_next_item makes it safer. - dedent('') does not work. - v:oldfiles list is only replaced with bang, if it is NULL or empty.
* shada: Populate v:oldfilesZyX2015-10-08
|
* Deprecate &viminfo and :[rw]v, add &shada and :[rw]shZyX2015-10-08
|
* functests: Fix change list ShaDa test failuresZyX2015-10-08
|
* shada,functests: Refactor shada items skippingZyX2015-10-08
|
* functests: Test dumping and loading change listZyX2015-10-08
|
* shada: Add support for dumping/restoring bufs changes and win jumpsZyX2015-10-08
|
* functests: Add tests for mark dumping/readingZyX2015-10-08