mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local lfs = require('lfs')
 | 
						|
local helpers = require('test.functional.helpers')(after_each)
 | 
						|
local clear, command, eval, eq = helpers.clear, helpers.command, helpers.eval, helpers.eq
 | 
						|
local write_file = helpers.write_file
 | 
						|
 | 
						|
describe("backtick expansion", function()
 | 
						|
  setup(function()
 | 
						|
    clear()
 | 
						|
    lfs.mkdir("test-backticks")
 | 
						|
    write_file("test-backticks/file1", "test file 1")
 | 
						|
    write_file("test-backticks/file2", "test file 2")
 | 
						|
    write_file("test-backticks/file3", "test file 3")
 | 
						|
    lfs.mkdir("test-backticks/subdir")
 | 
						|
    write_file("test-backticks/subdir/file4", "test file 4")
 | 
						|
    -- Long path might cause "Press ENTER" prompt; use :silent to avoid it.
 | 
						|
    command('silent cd test-backticks')
 | 
						|
  end)
 | 
						|
 | 
						|
  teardown(function()
 | 
						|
    helpers.rmdir('test-backticks')
 | 
						|
  end)
 | 
						|
 | 
						|
  it("with default 'shell'", function()
 | 
						|
    if helpers.iswin() then
 | 
						|
      command(":silent args `dir /b *2`")
 | 
						|
    else
 | 
						|
      command(":silent args `echo ***2`")
 | 
						|
    end
 | 
						|
    eq({ "file2", }, eval("argv()"))
 | 
						|
    if helpers.iswin() then
 | 
						|
      command(":silent args `dir /s/b *4`")
 | 
						|
      eq({ "subdir\\file4", }, eval("map(argv(), 'fnamemodify(v:val, \":.\")')"))
 | 
						|
    else
 | 
						|
      command(":silent args `echo */*4`")
 | 
						|
      eq({ "subdir/file4", }, eval("argv()"))
 | 
						|
    end
 | 
						|
  end)
 | 
						|
 | 
						|
  it("with shell=fish", function()
 | 
						|
    if eval("executable('fish')") == 0 then
 | 
						|
      pending('missing "fish" command')
 | 
						|
      return
 | 
						|
    end
 | 
						|
    command("set shell=fish")
 | 
						|
    command(":silent args `echo ***2`")
 | 
						|
    eq({ "file2", }, eval("argv()"))
 | 
						|
    command(":silent args `echo */*4`")
 | 
						|
    eq({ "subdir/file4", }, eval("argv()"))
 | 
						|
  end)
 | 
						|
end)
 |