neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

getline_spec.lua (928B)


      1 local t = require('test.testutil')
      2 local n = require('test.functional.testnvim')()
      3 
      4 local call = n.call
      5 local clear = n.clear
      6 local eq = t.eq
      7 local expect = n.expect
      8 
      9 describe('getline()', function()
     10  before_each(function()
     11    clear()
     12    call('setline', 1, { 'a', 'b', 'c' })
     13    expect([[
     14      a
     15      b
     16      c]])
     17  end)
     18 
     19  it('returns empty string for invalid line', function()
     20    eq('', call('getline', -1))
     21    eq('', call('getline', 0))
     22    eq('', call('getline', 4))
     23  end)
     24 
     25  it('returns empty list for invalid range', function()
     26    eq({}, call('getline', 2, 1))
     27    eq({}, call('getline', -1, 1))
     28    eq({}, call('getline', 4, 4))
     29  end)
     30 
     31  it('returns value of valid line', function()
     32    eq('b', call('getline', 2))
     33    eq('a', call('getline', '.'))
     34  end)
     35 
     36  it('returns value of valid range', function()
     37    eq({ 'a', 'b' }, call('getline', 1, 2))
     38    eq({ 'a', 'b', 'c' }, call('getline', 1, 4))
     39  end)
     40 end)