Files
neovim/test/functional/legacy/020_blockwise_visual_spec.lua
Justin M. Keyes 6d8c8b18d5 test(harness): migrate away from magic globals
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`.
2026-07-21 13:22:39 +02:00

52 lines
1.0 KiB
Lua

-- Tests Blockwise Visual when there are TABs before the text.
-- First test for undo working properly when executing commands from a register.
-- Also test this in an empty buffer.
local n = require('test.functional.testnvim')()
local t = require('test.testutil')
local describe, it, setup = t.describe, t.it, t.setup
local clear, feed, insert = n.clear, n.feed, n.insert
local feed_command, expect = n.feed_command, n.expect
describe('blockwise visual', function()
setup(clear)
it('is working', function()
insert([[
123456
234567
345678
test text test tex start here
some text
test text
test text
x jAy kdd
Ox jAy kdd]])
feed(":let @a = 'Ox<C-v><Esc>jAy<C-v><Esc>kdd'<cr>")
feed('G0k@au')
feed_command('new')
feed('@auY')
feed_command('quit')
feed('GP')
feed_command('/start here')
feed('"by$<C-v>jjlld')
feed_command('/456')
feed('<C-v>jj"bP')
feed_command('$-3,$d')
expect([[
123start here56
234start here67
345start here78
test text test tex rt here
somext
tesext
test text]])
end)
end)