Files
vim-lsp-mirror/test/lsp/utils/position.vimspec
hrsh7th 70234feca4 Improve code action (#663)
* Improve code action

* Add LspCodeActionSync

* Fix miss argument

* Fix for the review

* Add utils and tests

* Remove unused function
2020-01-09 08:35:39 -08:00

66 lines
4.4 KiB
Plaintext

Describe lsp#utils#position
Before each
% delete _
End
After all
% delete _
End
Describe lsp#utils#position#_lsp_to_vim
It should return the byte-index from the given character-index on a buffer
call setline(1, ['a β c', 'δ', ''])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 0, 'character': 0 }), [1, 1])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 0, 'character': 1 }), [1, 2])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 0, 'character': 2 }), [1, 3])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 0, 'character': 3 }), [1, 5])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 0, 'character': 4 }), [1, 6])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 1, 'character': 0 }), [2, 1])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 1, 'character': 1 }), [2, 3])
Assert Equals(lsp#utils#position#_lsp_to_vim('%', { 'line': 2, 'character': 0 }), [3, 1])
End
It should return the byte-index from the given character-index in an unloaded file
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 0, 'character': 0 }), [1, 1])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 0, 'character': 1 }), [1, 2])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 0, 'character': 2 }), [1, 3])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 0, 'character': 3 }), [1, 5])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 0, 'character': 4 }), [1, 6])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 1, 'character': 0 }), [2, 1])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 1, 'character': 1 }), [2, 3])
Assert Equals(lsp#utils#position#_lsp_to_vim('./test/testfiles/multibyte.txt', { 'line': 2, 'character': 0 }), [3, 1])
End
End
Describe lsp#utils#position#_vim_to_lsp
It should return the character-index from the given byte-index on a buffer
call setline(1, ['a β c', 'δ', ''])
Assert Equals({ 'line': 0, 'character': 0 }, lsp#utils#position#_vim_to_lsp('%', [1, 1]))
Assert Equals({ 'line': 0, 'character': 1 }, lsp#utils#position#_vim_to_lsp('%', [1, 2]))
Assert Equals({ 'line': 0, 'character': 2 }, lsp#utils#position#_vim_to_lsp('%', [1, 3]))
Assert Equals({ 'line': 0, 'character': 3 }, lsp#utils#position#_vim_to_lsp('%', [1, 5]))
Assert Equals({ 'line': 0, 'character': 4 }, lsp#utils#position#_vim_to_lsp('%', [1, 6]))
Assert Equals({ 'line': 1, 'character': 0 }, lsp#utils#position#_vim_to_lsp('%', [2, 1]))
Assert Equals({ 'line': 1, 'character': 1 }, lsp#utils#position#_vim_to_lsp('%', [2, 3]))
Assert Equals({ 'line': 2, 'character': 0 }, lsp#utils#position#_vim_to_lsp('%', [3, 1]))
End
It should return the character-index from the given byte-index in an unloaded file
Assert Equals({ 'line': 0, 'character': 0 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [1, 1]))
Assert Equals({ 'line': 0, 'character': 1 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [1, 2]))
Assert Equals({ 'line': 0, 'character': 2 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [1, 3]))
Assert Equals({ 'line': 0, 'character': 3 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [1, 5]))
Assert Equals({ 'line': 0, 'character': 4 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [1, 6]))
Assert Equals({ 'line': 1, 'character': 0 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [2, 1]))
Assert Equals({ 'line': 1, 'character': 1 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [2, 3]))
Assert Equals({ 'line': 2, 'character': 0 }, lsp#utils#position#_vim_to_lsp('./test/testfiles/multibyte.txt', [3, 1]))
End
End
End