aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/023_edit_arguments_spec.lua
blob: 95ab983d24121abe0a8ab74f3faff7640be8dc31 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
-- Tests for complicated + argument to :edit command

local helpers = require('test.functional.helpers')(after_each)
local clear, insert = helpers.clear, helpers.insert
local execute, expect = helpers.execute, helpers.expect

describe(':edit', function()
  setup(clear)

  it('is working', function()
    insert([[
      The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"
      foo|bar
      foo/bar]])

    -- Prepare some test files
    execute('$-1w! Xfile1')
    execute('$w! Xfile2')
    execute('w! Xfile0')

    -- Open Xfile using '+' range
    execute('edit +1 Xfile1')
    execute('s/|/PIPE/')
    execute('yank A')
    execute('w! Xfile1')

    -- Open Xfile2 using '|' range
    execute('edit Xfile2|1')
    execute("s/\\//SLASH/")
    execute('yank A')
    execute('w! Xfile2')

    -- Clean first buffer and put @a
    execute('bf')
    execute('%d')
    execute('0put a')

    -- Remove empty line
    execute('$d')

    -- The buffer should now contain
    expect([[
      fooPIPEbar
      fooSLASHbar]])
  end)

  teardown(function()
    os.remove('Xfile0')
    os.remove('Xfile1')
    os.remove('Xfile2')
  end)
end)