mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- vim: set foldmethod=marker foldmarker=[[,]] :
 | 
						|
-- Test for autocommand that changes current buffer on BufEnter event.
 | 
						|
-- Check if modelines are interpreted for the correct buffer.
 | 
						|
 | 
						|
local helpers = require('test.functional.helpers')
 | 
						|
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
 | 
						|
local execute, expect = helpers.execute, helpers.expect
 | 
						|
 | 
						|
describe('BufEnter with modelines', function()
 | 
						|
  setup(clear)
 | 
						|
 | 
						|
  it('is working', function()
 | 
						|
    insert([[
 | 
						|
      startstart
 | 
						|
      start of test file Xxx
 | 
						|
      vim: set noai :
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
      end of test file Xxx]])
 | 
						|
 | 
						|
    execute('au BufEnter Xxx brew')
 | 
						|
 | 
						|
    -- Write test file Xxx
 | 
						|
    execute('/start of')
 | 
						|
    execute('.,/end of/w! Xxx')
 | 
						|
    execute('set ai modeline modelines=3')
 | 
						|
 | 
						|
    -- Split to Xxx, autocmd will do :brew
 | 
						|
    execute('sp Xxx')
 | 
						|
 | 
						|
    -- Append text with autoindent to this file
 | 
						|
    feed('G?this is a<Esc>')
 | 
						|
    feed('othis should be auto-indented<Esc>')
 | 
						|
 | 
						|
    -- Go to Xxx, no autocmd anymore
 | 
						|
    execute('au! BufEnter Xxx')
 | 
						|
    execute('buf Xxx')
 | 
						|
 | 
						|
    -- Append text without autoindent to Xxx
 | 
						|
    feed('G?this is a<Esc>')
 | 
						|
    feed('othis should be in column 1<Esc>')
 | 
						|
    execute('wq')
 | 
						|
 | 
						|
    -- Include Xxx in the current file
 | 
						|
    feed('G:r Xxx<CR>')
 | 
						|
 | 
						|
    expect([[
 | 
						|
      startstart
 | 
						|
      start of test file Xxx
 | 
						|
      vim: set noai :
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this should be auto-indented
 | 
						|
      end of test file Xxx
 | 
						|
      start of test file Xxx
 | 
						|
      vim: set noai :
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
          this is a test
 | 
						|
      this should be in column 1
 | 
						|
      end of test file Xxx]])
 | 
						|
  end)
 | 
						|
 | 
						|
  teardown(function()
 | 
						|
    os.remove('Xxx')
 | 
						|
  end)
 | 
						|
end)
 |