getline_spec.lua 928 B

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