aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/054_buffer_local_autocommands_spec.lua
blob: 494ea8f927e24eefa1fc33de1d843d4a0828f2e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
-- Some tests for buffer-local autocommands

local helpers = require('test.functional.helpers')(after_each)
local clear, execute, eq = helpers.clear, helpers.execute, helpers.eq
local curbuf_contents = helpers.curbuf_contents

describe('BufLeave <buffer>', function()
  setup(clear)

  it('is working', function()
    execute('w! xx')
    execute('au BufLeave <buffer> norm Ibuffer-local autocommand')
    execute('au BufLeave <buffer> update')
    
    -- Here, autocommand for xx shall append a line
    -- But autocommand shall not apply to buffer named <buffer> 
    execute('e somefile')

    -- Here, autocommand shall be auto-deleted
    execute('bwipe xx')
    
    -- Nothing shall be written
    execute('e xx')
    execute('e somefile')
    execute('e xx')

    eq('buffer-local autocommand', curbuf_contents())
  end)

  teardown(function()
    os.remove('xx')
  end)
end)