aboutsummaryrefslogtreecommitdiff
path: root/test/functional/core/main_spec.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-03-19 16:09:48 +0300
committerZyX <kp-pav@yandex.ru>2017-03-19 16:09:48 +0300
commitfdfa1ed578afd41a68f05c88dc419d88051b7240 (patch)
tree6eac36009c75cb33b211a48d7cc043c0df1a3b86 /test/functional/core/main_spec.lua
parentd2268d5ebbbd472c9c4f303404dc5640208d3b3b (diff)
downloadrneovim-fdfa1ed578afd41a68f05c88dc419d88051b7240.tar.gz
rneovim-fdfa1ed578afd41a68f05c88dc419d88051b7240.tar.bz2
rneovim-fdfa1ed578afd41a68f05c88dc419d88051b7240.zip
main: Temporary fix assertion error
This variant uses `fdopen()` which is not standard, but it fixes problem on my system. In next commit `scriptin` will use `FileDescriptor*` from os/fileio in place of `FILE*`.
Diffstat (limited to 'test/functional/core/main_spec.lua')
-rw-r--r--test/functional/core/main_spec.lua48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/functional/core/main_spec.lua b/test/functional/core/main_spec.lua
index c3aeb30398..bad5d72142 100644
--- a/test/functional/core/main_spec.lua
+++ b/test/functional/core/main_spec.lua
@@ -1,7 +1,9 @@
local lfs = require('lfs')
local helpers = require('test.functional.helpers')(after_each)
+local Screen = require('test.functional.ui.screen')
local eq = helpers.eq
+local feed = helpers.feed
local clear = helpers.clear
local funcs = helpers.funcs
local nvim_prog = helpers.nvim_prog
@@ -53,5 +55,51 @@ describe('Command-line option', function()
local attrs = lfs.attributes(fname)
eq(#('100500\n'), attrs.size)
end)
+ it('does not crash after reading from stdin in non-headless mode', function()
+ local screen = Screen.new(40, 8)
+ screen:attach()
+ eq(nil, lfs.attributes(fname))
+ funcs.termopen({
+ nvim_prog_abs(), '-u', 'NONE', '-i', 'NONE',
+ '--cmd', 'set noswapfile shortmess+=IFW fileformats=unix',
+ '-s', '-'
+ })
+ screen:expect([[
+ ^ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {2:[No Name] 0,0-1 All}|
+ |
+ |
+ ]], {
+ [1] = {foreground = 4210943, special = Screen.colors.Grey0},
+ [2] = {special = Screen.colors.Grey0, bold = true, reverse = true}
+ })
+ feed('i:cq<CR><C-\\><C-n>')
+ screen:expect([[
+ ^ |
+ [Process exited 1] |
+ |
+ |
+ |
+ |
+ |
+ |
+ ]])
+ --[=[ Example of incorrect output:
+ screen:expect([[
+ ^nvim: /var/tmp/portage/dev-libs/libuv-1.|
+ 10.2/work/libuv-1.10.2/src/unix/core.c:5|
+ 19: uv__close: Assertion `fd > STDERR_FI|
+ LENO' failed. |
+ |
+ [Process exited 6] |
+ |
+ |
+ ]])
+ ]=]
+ end)
end)
end)