Merge #9686 'win/Lua: monkey-patch os.getenv()'

fixes #9681
This commit is contained in:
Justin M. Keyes
2019-03-16 20:28:52 +01:00
4 changed files with 86 additions and 21 deletions

View File

@@ -300,3 +300,19 @@ describe('package.path/package.cpath', function()
eq(new_paths_str, eval_lua('package.path'):sub(1, #new_paths_str))
end)
end)
describe('os.getenv', function()
it('returns nothing for undefined env var', function()
eq(NIL, funcs.luaeval('os.getenv("XTEST_1")'))
end)
it('returns env var set by the parent process', function()
local value = 'foo'
clear({env = {['XTEST_1']=value}})
eq(value, funcs.luaeval('os.getenv("XTEST_1")'))
end)
it('returns env var set by let', function()
local value = 'foo'
meths.command('let $XTEST_1 = "'..value..'"')
eq(value, funcs.luaeval('os.getenv("XTEST_1")'))
end)
end)

View File

@@ -29,8 +29,7 @@ describe("'wildmenu'", function()
end
it(':sign <tab> shows wildmenu completions', function()
command('set wildmode=full')
command('set wildmenu')
command('set wildmenu wildmode=full')
feed(':sign <tab>')
screen:expect([[
|
@@ -201,14 +200,28 @@ describe('command line completion', function()
]])
end)
it('completes env var names #9681', function()
clear()
screen:attach()
command('let $XTEST_1 = "foo" | let $XTEST_2 = "bar"')
command('set wildmenu wildmode=full')
feed(':!echo $XTEST_<tab>')
screen:expect([[
|
{1:~ }|
{1:~ }|
{2:XTEST_1}{3: XTEST_2 }|
:!echo $XTEST_1^ |
]])
end)
it('completes (multibyte) env var names #9655', function()
clear({env={
['XTEST_1AaあB']='foo',
['XTEST_2']='bar',
}})
screen:attach()
command('set wildmode=full')
command('set wildmenu')
command('set wildmenu wildmode=full')
feed(':!echo $XTEST_<tab>')
screen:expect([[
|