aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* 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.
* shell_escape: rename; refactorJustin M. Keyes2016-09-11
| | | | | | | | - rename to shell_xescape_xquote - move to os/shell.c - disallow NULL argument - eliminate casts, nesting - test: empty shellxquote/shellxescape
* system(): Respect 'sxe' and 'sxq' #2789Zhaosheng Pan2016-09-10
| | | | Fixes #2773
* Merge #5295 'health.vim'Justin M. Keyes2016-09-05
|\
| * health.vim: Show results incrementally.Justin M. Keyes2016-09-05
| | | | | | | | | | | | | | | | Also: - improve precision of "No healthcheck found" - fix SUGGESTIONS syntax group definition - fix indentation of SUGGESTIONS
* | shada: Fix non-writeable ShaDa directory handlingZyX2016-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, nvim -i /etc/shada segfaults on exit if the file does not exist and user does not have permissions to create the file at /etc/shada. Closes #5296 Reported in #5277 https://github.com/neovim/neovim/issues/5277#issuecomment-243937255
* | getcwd(): Return empty string if CWD is invalid. #5292HiPhish2016-09-04
|/ | | | | | | | | | Closes #5291 Restores behaviour identical to Vim. If the user calls the VimScript function 'getcwd()' and the working directory cannot be found (for example because the directory has been deleted since the last time it was used) an empty string needs to be returned instead of throwing an error.
* test: Add unittest spec for option.c (#5289)Kalle Ranki2016-09-04
| | | | | | | | Move typedef expand_T to types.h for tests Fix lint error for old style comments Describe 'check_ff_value' valid values as an initial test. Fix 'get_sts_value' comment inaccuracy and add unit test for it
* tchdir: New tab should inherit CWD. (#5227)Alejandro Sanchez2016-09-04
| | | | When a new tabpage gets created it will copy the local working directory of the previous one, if there is any.
* api: fix leak when a api function is incorrectly called with a list.Björn Linse2016-08-31
| | | | This applies both to msgpack-rpc and eval.