aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/screen.lua
Commit message (Collapse)AuthorAge
* api/ui: win_viewport event for visible range and cursor position in windowBjörn Linse2020-04-01
|
* screen.lua: remove screen:_on_event #11488Justin M. Keyes2019-12-01
| | | Tests can redefine the handlers, so we don't need this extra hook.
* test/Screen:expect: replace "{IGNORE}" with "{MATCH:…}"Justin M. Keyes2019-11-09
| | | | ref #11004
* tests: Screen:expect: support "{MATCH:…}"Daniel Hahler2019-11-09
|
* terminal: add tests for palette color forwardingBjörn Linse2019-11-03
|
* test/screen: make snapshot_util() work properly in rgb_cterm modeBjörn Linse2019-11-02
|
* test/functional: retry/Screen: failure instead of error #11173Daniel Hahler2019-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Running out of retries, or unexpected screen state should make the test FAIL, not ERROR. - Uses levels to report the location of the caller. - Improve message with retry-failure (formatting). Before: [ RUN ] test: 103.53 ms ERR test/functional/helpers.lua:388: retry() attempts: 1 test/functional/ui/screen.lua:587: Row 1 did not match. Expected: |*X^ | |{0:~ }| |{0:~ }| | | Actual: |*^ | |{0:~ }| |{0:~ }| | | To print the expect() call that would assert the current screen state, use screen:snapshot_util(). In case of non-deterministic failures, use screen:redraw_debug() to show all intermediate screen states. stack traceback: test/functional/helpers.lua:388: in function 'retry' test/functional/test_spec.lua:24: in function <test/functional/test_spec.lua:23> After: [ RUN ] test: 105.22 ms FAIL test/functional/test_spec.lua:24: stopping after 1 retry() attempts. test/functional/test_spec.lua:25: Row 1 did not match. Expected: |*X^ | |{0:~ }| |{0:~ }| | | Actual: |*^ | |{0:~ }| |{0:~ }| | | To print the expect() call that would assert the current screen state, use screen:snapshot_util(). In case of non-deterministic failures, use screen:redraw_debug() to show all intermediate screen states. stack traceback: test/functional/helpers.lua:389: in function 'retry' test/functional/test_spec.lua:24: in function <test/functional/test_spec.lua:23>
* tests/ui: completely delete "attr_ignore" featureBjörn Linse2019-10-13
| | | | | All existing usages are ad-hoc/random/lazyness. Generating attribute specifications is not hard since four years, just do it always.
* tests/ui: cleanup illegitimate usages of "attr_ignore"Björn Linse2019-10-13
| | | | | "attr_ignore" is an anti-pattern, with snapshot_util() just include all the highlights already.
* tests/ui: make screen.lua use "linegrid" representation internallyBjörn Linse2019-10-13
| | | | | | | | | | PR #8221 took a short-cut when implementing the tests: screen.lua would translate the linegrid highlight ids back into the old per-cell attribute description. Apart from cleaning up technical debt, this enables to check both rgb and cterm colors in the same expect(), which previously was needlessly restricted to ext_hlstate tests only.
* syntax, TUI: support "strikethrough"Jaskaran Singh2019-09-13
| | | | | | fix #3436 Includes: vim-patch:8.0.1038: strike-through text not supported
* test: properly test missing clears after scrollBjörn Linse2019-09-06
| | | | | NB: happened to be irrelevant to the present failure, which only occured with the compositor and not exteral UI for some reason
* screen.lua: dump payload on handler failureJustin M. Keyes2019-09-01
| | | | | | | | | | | | For debugging failures like: test/functional/helpers.lua:240: test/functional/ui/screen.lua:898: bad argument #1 to 'unpack' (table expected, got number) test/functional/helpers.lua:240: test/functional/ui/screen.lua:708: attempt to index local 'item' (a number value) ref #10804
* test/ui: update tests for new msg_grid implementationBjörn Linse2019-09-01
|
* test/ui: make screen:expect() print full state when height does not matchBjörn Linse2019-09-01
|
* tests: screen: notification_cb: improve assertion messageDaniel Hahler2019-08-20
|
* ui: transmit "blend=" property of highlight attributesBjörn Linse2019-08-18
|
* test/ui: properly test win_hide by explicitly marking hidden gridsBjörn Linse2019-08-17
|
* ui: use Window type in win_pos consistently with win_float_posBjörn Linse2019-08-17
| | | | Also check invalid positional arguments to screen:expect()
* tests: fix/improve Screen:expect_unchanged (#10577)Daniel Hahler2019-07-24
| | | | | | Do not sleep before collecting initial state. Ref: https://github.com/neovim/neovim/pull/10550#issuecomment-513670205
* screen.lua: always print keyword-args snapshotJustin M. Keyes2019-07-20
|
* screen.lua: expect_unchanged(), get_snapshot()Justin M. Keyes2019-07-20
| | | | | | | | | | | | | | Factor `get_snapshot()` out of `print_snapshot()`, so that callers can get a table (for use with `expect()`) instead of the string form. Try to use this to fix indeterminism in `searchhl_spec.lua`. - Since the screen state is collected by `screen:expect_unchanged()`, we don't need a deterministic initial state (which would then be hardcoded into the test). This allows us to check "did anything change in the last N ms?" rather than "did anything change compared to a hardcoded screen-state?" - This may end up fruitless, because `expect_unchanged()` depends on timing to wait for an initial "current state".
* highlight: expose builtin highlight groups using hl_group_set eventBjörn Linse2019-07-14
|
* tests: use vim.inspect (#10485)Daniel Hahler2019-07-13
| | | | | | | The inspect modules is vendored as `vim.inspect`, and therefore it makes sense to use this in tests also. Ref: https://github.com/neovim/neovim/issues/6580 Ref: https://github.com/neovim/neovim/commit/bb3aa824b
* highlight: show "hi Group" message correctly when not using the screenBjörn Linse2019-07-05
| | | | | | | ext_message doesn't set msg_col. Add a space and let client deal with wrapping. When using silent redirect show the unwrapped message form. Removed check is already part of msg_advance()
* cmdline: remove invalid cmdline_show event when aborting mappingBjörn Linse2019-06-26
|
* messages: use proper multiline error message for rpcrequest and API wrappersBjörn Linse2019-05-26
|
* test: remove use of require('test.helpers')Justin M. Keyes2019-05-18
| | | | | | The test.functional.helpers and test.unit.helpers modules now include all of the public functions from test.helpers, so there is no need to separately require('test.helpers').
* UI/ext_messages: learn more message kindsJustin M. Keyes2019-05-11
| | | | ref #6201
* doc [ci skip]Justin M. Keyes2019-03-26
| | | | closes #9719
* Allow using internal popupmenu or ext_popupmenu for wildmenuBjörn Linse2019-03-16
| | | | | Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor position), and will allow further expansion (info about items).
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* ui: implement ext_messagesBjörn Linse2019-02-10
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* UI: implement 'pumblend' option for semi-transparent popupmenuBjörn Linse2019-02-07
| | | | | | | | | | | | | Why? - Because we can. - Because the TUI is just another GUI™ - Because it looks kinda nice, and provides useful context like 1 out of 100 times Complies with "don't pay for what you don't use". Some crashes for resizing were unfolded, add tests for those.
* multigrid: simplify testsBjörn Linse2018-12-31
|
* multigrid: add tests for multiline messages and tabsBjörn Linse2018-12-31
|
* multigrid: test refactorBjörn Linse2018-12-31
|
* multigrid: rename event to win_pos, make grid firstBjörn Linse2018-12-31
|
* multigrid: add msg_scroll_start and msg_scroll_reset eventsBjörn Linse2018-12-31
|
* multigrid: add multigrid screen testsUtkarsh Maheshwari2018-12-31
|
* multigrid: add multigrid support to test infrastructureBjörn Linse2018-12-31
| | | | make Screen explicitly tied to its session
* docJustin M. Keyes2018-11-28
| | | | | | | | | | - develop.txt is for design/guidelines; architecture/concepts should live elsewhere (currently src/nvim/README.md) - move dev-jargon to intro.txt - replace https://neovim.io/community (deprecated) with https://neovim.io/#chat - <Cmd> avoids CmdlineEnter/Leave https://github.com/vim/vim/issues/2889
* defaults: background=dark #2894 (#9205)Justin M. Keyes2018-11-20
| | | | | | | | | | | | | By historical accident, Nvim defaults to background=light. So on a dark background, `:colorscheme default` looks completely wrong. The "smart" logic that Vim uses is confusing for anyone who uses Vim on multiple platforms, so rather than mimic that, pick the (hopefully) most common default. - Since Neovim is dark-powered, we assume most users have dark backgrounds. - Most of the GUIs tend to have a dark background by default. ref #6289
* tests: improve robustness of immediate successes in screen testsBjörn Linse2018-10-15
|
* ui: reserve the right to split a screen redraw into multiple batches.Björn Linse2018-10-02
|
* ui: rename ext_newgrid to ext_linegridBjörn Linse2018-10-01
|
* shell/logging: Fix E730 with verbose system({List}) #9009Justin M. Keyes2018-09-21
| | | | | | | | ref https://github.com/neovim/neovim/issues/9001#issuecomment-421843790 Steps to reproduce: :set verbose=9 :call system(['echo']) E730: using List as a String
* startup: don't erase screen on `:hi Normal` during startupBjörn Linse2018-09-20
| | | | | | | | | NB: existing `color default` test was actually enough to trigger the bug, when ext_newgrid=false is used. I created the `:hi Normal` test as I thought the builtin colors wouldn't set Normal (unless 'bg' is changed) But as the root cause actually comes from `:hi Normal`, it makes sense to still add the separate test (if `color default` here gets optimized to become a no-op, or something).
* screen.lua: extend snapshot_util() to work with extension stateBjörn Linse2018-09-03
| | | | | Simplify handling of attributes: collect new attributes in the same pass as screen lines are rendered, instead of using two passes.
* tests: introduce screen:expect{...} formBjörn Linse2018-08-27
|