aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
| * 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
* | modeline: Handle version number overflow. #5450Florian Larysch2016-10-26
| | | | | | | | | | | | | | | | | | | | | | Closes #5449 A file containing the string "vim" followed by a very large number in a modeline location will trigger an overflow in getdigits() which is called by chk_modeline() when trying to parse the version number. Add getdigits_safe(), which does not assert overflows, but reports them to the caller.
* | CheckHealth: more checksJustin M. Keyes2016-10-25
| |
* | version: Allow has("nvim-x"), has("nvim-x.y")Justin M. Keyes2016-10-25
| |
* | version: has("nvim-1.2.3")Justin M. Keyes2016-10-25
| | | | | | | | Helped-by: Daniel Hahler <git@thequod.de>
* | test/api: Specify handling of VimL errors, v:errmsg.Justin M. Keyes2016-10-24
| | | | | | | | TODO: Also spec behavior of Press-Enter prompt for these API functions.
* | test: system(): Avoid indeterminism.Justin M. Keyes2016-10-23
| |
* | api: documentationJustin M. Keyes2016-10-23
|/ | | | Clarify behavior of v:errmsg and the Error object.
* vim-patch:8.0.0041Tommy Allen2016-10-22
| | | | | | Problem: When using Insert mode completion but not actually inserting anything an undo item is still created. (Tommy Allen) Solution: Do not call stop_arrow() when not inserting anything.
* Merge pull request #4568 from bfredl/multirequestBjörn Linse2016-10-22
|\ | | | | atomic multi request for async remote plugins
| * api: call multiple methods atomically (useful in async contexts)Björn Linse2016-10-22
| | | | | | | | remove unused response_id parameter of handle_nvim_... helpers
* | os_nodetype: open fd with O_NONBLOCK (#5515)Justin M. Keyes2016-10-21
| | | | | | | | | | Closes #5267 Helped-by: oni-link <knil.ino@gmail.com>
* | test: :terminal should not interrupt Press-ENTERJustin M. Keyes2016-10-20
| | | | | | | | References #2748
* | Merge pull request #5441 from Shougo/vim-7.4.1588James McCoy2016-10-20
|\ \ | | | | | | | | | vim-patch:7.4.1588
| * | vim-patch:7.4.1588Shougo Matsushita2016-10-15
| | | | | | | | | | | | | | | | | | | | | Problem: Old style test for quickfix. Solution: Turn test 96 into a new style test. https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
* | | Merge pull request #5440 from Shougo/vim-7.4.1565James McCoy2016-10-20
|\ \ \ | | | | | | | | vim-patch:7.4.1565
| * | | vim-patch:7.4.1565Shougo Matsushita2016-10-15
| |/ / | | | | | | | | | | | | | | | | | | Problem: Crash when assert_equal() runs into a NULL string. Solution: Check for NULL. (Dominique) Add a test. https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
* | / tests: fix racyness in terminal/api_spec.luaBjörn Linse2016-10-19
| |/ |/| | | | | | | Previously, the nvim_input from the socket channels could be processed before the input from stdin in rare cases.
* | system('foo &', 'bar'): Show error, don't crash.Justin M. Keyes2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #3529 Closes #5241 In Vim, :echo system('cat - &', 'foo') works because for both system() and :! Vim writes input to a temp file and uses shell syntax to redirect the file to the backgrounded `cat` (get_cmd_output() .. make_filter_cmd()). In Nvim, :echo system('cat - &', 'foo') fails because we write the input directly via pipes (shell.c:do_os_system()), but (per POSIX[1]) backgrounded process input stream is redirected from /dev/null (unless overridden by shell redirection; supported only by some shells [2]), so our writes are ignored, the process exits quickly, and if we are writing data larger than the buffer size we'll see EPIPE. This still works: :%w !tee > foo1358.txt & but this does not: :%w !tee foo1358.txt & though it *should* (why doesn't it?) because we still do the temp file dance in do_bang() .. do_filter(). [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02 [2] http://unix.stackexchange.com/a/71218
* | test: system(): backgrounded shell commandJustin M. Keyes2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests are essentially affirming a regression vs Vim. In Vim, :echo system('cat - &', 'foo') returns "foo", because Vim internally wraps the command with shell-specific syntax to redirect the streams from /dev/null[1]. That can't work in Nvim because we use pipes directly (instead of temp files) and don't wrap the command with shell-specific redirection syntax. References #3529 References #5241 [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
* | test: execute_spec: Adjust screen assertion.Justin M. Keyes2016-10-15
| | | | | | | | | | | | The previous form was passing because it happens immediately before this form; but on a very fast(?) server the screen check might miss that form. It's also not really want we want to assert anyways.
* | Merge pull request #5424 from jamessan/win-tab-nrJames McCoy2016-10-15
|\ \ | | | | | | api: Support getting the number of a window/tabpage
| * | api: Support getting the number of a window/tabpageJames McCoy2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to provide better compatibility with the classic bindings, the API needs to provide the ability to query the number (really index) of the window/tabpage. This is needed for neovim/python-client#87, as discussed in neovim/neovim#1898. Signed-off-by: James McCoy <jamessan@jamessan.com>
* | | Merge pull request #5384 from bfredl/getchar_eventBjörn Linse2016-10-15
|\ \ \ | |_|/ |/| | allow event processing in getchar()
| * | events: allow event processing in getchar()Björn Linse2016-10-15
| | | | | | | | | | | | | | | | | | this is consistent with vim, and is necessary for plugins that implement their own input modes using "getchar()" and still want to do async event processing.
* | | test/tui_spec: Force LANG=CJustin M. Keyes2016-10-13
|/ / | | | | | | References #5455
* | Merge #5257 from jbradaric/vim-7.4.1893Justin M. Keyes2016-10-13
|\ \ | | | | | | vim-patch:7.4.{1893,1895}
| * | server_requests_spec: Expect correct window ID.Jurica Bradaric2016-10-07
| |/
* | main.c: "BufReadCmd term://": Skip existing terminal.Justin M. Keyes2016-10-12
| | | | | | | | | | | | | | | | | | Check `exists('b:term_title')` to avoid the BufReadCmd for already-initialized :terminal buffers. Move the test for `:argadd`. Add a test for `:edit<CR>`. Tweak comments and code style.
* | terminal: Move re-edit detection to do_ecmd(). #5445Harm te Hennepe2016-10-12
| | | | | | | | Closes #4784
* | test/terminal: Cover race when :term shell process exits.Justin M. Keyes2016-10-12
|/ | | | | | References #5445 See https://github.com/neovim/neovim/pull/5445#issuecomment-252529766
* Merge pull request #5366 from NovaDev94/vim-7.4.1740James McCoy2016-10-04
|\ | | | | vim-patch:7.4.1740
| * vim-patch:7.4.1740Nova2016-09-22
| | | | | | | | | | | | | | | | Problem: syn-cchar defined with matchadd() does not appear if there are no other syntax definitions which matches buffer text. Solution: Check for startcol. (Ozaki Kiichi, haya14busa, closes vim/vim#757) https://github.com/vim/vim/commit/4d585022023b96f6507e8cae5ed8fc8d926f5140
* | event/multiqueue.c: Rename "queue" to "multiqueue".Justin M. Keyes2016-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `lib/queue.h` implements a basic queue. `event/queue.c` implements a specialized data structure on top of lib/queue.h; it is not a "normal" queue. Rename the specialized multi-level queue implemented in event/queue.c to "multiqueue", to avoid confusion when reading the code. Before this change one can eventually notice that "macros (uppercase symbols) are for the normal queue, lowercase operations are for the multi-level queue", but that is unnecessary friction for new developers (or existing developers just visiting this part of the codebase).
* | Correct logic for setting NormalState.toplevelJames McCoy2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Vim's main_loop function, the main loop is while (!cmdwin #ifdef FEAT_CMDWIN || cmdwin_result == 0 #endif ) { ... #ifdef FEAT_EVAL /* * May perform garbage collection when waiting for a character, but * only at the very toplevel. Otherwise we may be using a List or * Dict internally somewhere. * "may_garbage_collect" is reset in vgetc() which is invoked through * do_exmode() and normal_cmd(). */ may_garbage_collect = (!cmdwin && !noexmode); #endif /* * If we're invoked as ex, do a round of ex commands. * Otherwise, get and execute a normal mode command. */ if (exmode_active) { if (noexmode) /* End of ":global/path/visual" commands */ return; do_exmode(exmode_active == EXMODE_VIM); } else normal_cmd(&oa, TRUE); } cmdwin_result is set to 0 before calling main_loop to handle the cmdwin window and gets changed when the user causes a command to execute (either through pressing <CR> or <C-c>). This means that when the cmdwin isn't active OR the user is still editing their command, main_loop runs and main_loop calls normal_cmd with toplevel true as long as exmode isn't active. When the normal mode state was extracted in dae006a9, the conditions for toplevel and may_garbage_collect were combined. Since toplevel was set to always ignore cmdwin, the v:count(1) variables were no longer being updated when a command was prefixed with a count in the cmdwin. Closes #5404
* | test: api_specJustin M. Keyes2016-09-22
|/ | | | | This is an (unsuccessful) attempt to cover #4163. It covers other behavior, so it's worth keeping.
* test: legacy/012_directory_spec: Also use dot-prefix on Windows.Justin M. Keyes2016-09-20
| | | | | win32 handles dot-prefixed files just fine; Nvim-on-Windows does not perpetuate the Vim-on-Windows behavior of avoiding dot-prefixed files.
* test/helpers.rmdir(): lfs.rmdir() instead of os.remove()Justin M. Keyes2016-09-20
| | | | | | | | | os.remove() fails on empty directories in non-POSIX systems. https://github.com/keplerproject/luafilesystem/issues/4 lfs.rmdir() "usually" works, so use it instead. Closes #5236
* test/helpers.rmdir(): Retry once after a delay.Justin M. Keyes2016-09-20
| | | | | Attempt to avoid "Permission denied" on Windows potentially caused by open filepath handle in sibling process.
* tests: migrate legacy test 12. #4196Lucas Hoffmann2016-09-18
|
* api: Establish API naming convention. (#5344)Justin M. Keyes2016-09-17
| | | | | | | | | | | | | | | | | | | | | old name: new name: -------------------------------------------------- nvim_name_to_color nvim_get_color_by_name nvim_get_current_buffer nvim_get_current_buf nvim_get_current_window nvim_get_current_win nvim_get_buffers nvim_list_bufs nvim_get_tabpages nvim_list_tabpages nvim_get_windows nvim_list_wins nvim_set_current_buffer nvim_set_current_buf nvim_set_current_window nvim_set_current_win nvim_change_directory nvim_set_current_dir nvim_tabpage_get_window nvim_tabpage_get_win nvim_tabpage_get_windows nvim_tabpage_list_wins nvim_win_get_buffer nvim_win_get_buf nvim_report_error nvim_err_writeln Helped-by: Björn Linse <bjorn.linse@gmail.com> Helped-by: ZyX <kp-pav@yandex.ru> Helped-by: James McCoy <jamessan@jamessan.com>
* test: synIDattr returns empty, not -1Stéphane Campinas2016-09-16
| | | | | - Behavior changed in 7.4.1547 - Also removed N/A specs: nvim does not support ":hi term=..."
* syntax.c: Support bg/fg special color-names. #5319Kerem Cakirer2016-09-16
| | | | Refresh colors if changing Normal group
* api: make nvim[_obj]_set_var and _del_var not return the old valueBjörn Linse2016-09-15
|
* Restore output_spec assertion dropped in f332ebaJames McCoy2016-09-14
|
* tests/ui: Stop the terminal job after testingJames McCoy2016-09-14
| | | | | | When running the tests in a contained environment, the lingering terminal processes prevent the unmounting of the filesystems in the contained environment.
* Merge #4874 'Restore vim-like tab dragging'Justin M. Keyes2016-09-12
|\
| * CI: Travis macOS: Skip tab left-drag tests.Justin M. Keyes2016-09-12
| | | | | | | | | | | | These tests fail on master, so it's not a regression. Changes in #4874 (parent commit) seem to work (and pass most CI), so skipping these tests is better than blocking the changes.
| * normal.c: Restore vim-like tab dragging. #4874sach1t2016-09-12
| | | | | | | | | | Closes #4663 References #3310
* | CI: test: Avoid QuickBuild hang. (#5330)Justin M. Keyes2016-09-12
|/ | | Delete the CWD using nvim instead of the external lua/test runner process.