diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-07-20 17:16:51 +0200 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2026-07-21 13:22:39 +0200 |
| commit | 6d8c8b18d551d0be0490640c00fabb816727ec10 (patch) | |
| tree | bc7ace573d41eb0a20092054b79e70a0ce6f75f9 /test/functional/vimscript/executable_spec.lua | |
| parent | a71ee754ee4bb88fc2d2fbe67972f24c5a6d7883 (diff) | |
| download | rneovim-6d8c8b18d551d0be0490640c00fabb816727ec10.tar.gz rneovim-6d8c8b18d551d0be0490640c00fabb816727ec10.tar.bz2 rneovim-6d8c8b18d551d0be0490640c00fabb816727ec10.zip | |
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`.
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
| -rw-r--r-- | test/functional/vimscript/executable_spec.lua | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/functional/vimscript/executable_spec.lua b/test/functional/vimscript/executable_spec.lua index 4101d8f32d..7b3f81fb7c 100644 --- a/test/functional/vimscript/executable_spec.lua +++ b/test/functional/vimscript/executable_spec.lua @@ -1,6 +1,8 @@ local t = require('test.testutil') local n = require('test.functional.testnvim')() +local describe, it, before_each, setup, teardown, pending = + t.describe, t.it, t.before_each, t.setup, t.teardown, t.pending local eq, clear, call, write_file, command = t.eq, n.clear, n.call, t.write_file, n.command local eval, fn = n.eval, n.fn local is_os = t.is_os |