mirror of
https://github.com/prabirshrestha/vim-lsp.git
synced 2025-12-24 12:14:32 +01:00
87 lines
2.3 KiB
Plaintext
87 lines
2.3 KiB
Plaintext
Describe lsp#utils#diff
|
|
|
|
Describe lsp#utils#diff#compute
|
|
It should return diff of one letter
|
|
let lines1 = [
|
|
\ 'foo',
|
|
\ 'bar',
|
|
\ 'baz',
|
|
\]
|
|
let lines2 = [
|
|
\ 'foo',
|
|
\ 'baR',
|
|
\ 'baz',
|
|
\]
|
|
let want = {
|
|
\ 'range': {
|
|
\ 'start': { 'line': 1, 'character': 2 },
|
|
\ 'end': { 'line': 1, 'character': 3 },
|
|
\ },
|
|
\ 'text': 'R',
|
|
\ 'rangeLength': 1
|
|
\}
|
|
let got = lsp#utils#diff#compute(lines1, lines2)
|
|
Assert Equals(got, want)
|
|
End
|
|
|
|
It should return diff of multi-lines
|
|
let lines1 = [
|
|
\ 'foo',
|
|
\ 'bar',
|
|
\ 'baz',
|
|
\]
|
|
let lines2 = [
|
|
\ 'Foo',
|
|
\ 'baR',
|
|
\ 'baz',
|
|
\]
|
|
let want = {
|
|
\ 'range': {
|
|
\ 'start': { 'line': 0, 'character': 0 },
|
|
\ 'end': { 'line': 1, 'character': 3, }
|
|
\ },
|
|
\ 'text': "Foo\nbaR",
|
|
\ "rangeLength": 7
|
|
\}
|
|
let got = lsp#utils#diff#compute(lines1, lines2)
|
|
Assert Equals(got, want)
|
|
End
|
|
|
|
It should return diff for empty list
|
|
let lines1 = []
|
|
let lines2 = [
|
|
\ 'foo',
|
|
\ 'bar',
|
|
\ 'baz',
|
|
\]
|
|
let want = {
|
|
\ 'range': {
|
|
\ 'start': { 'line': 0, 'character': 0 },
|
|
\ 'end': { 'line': 0, 'character': 0, }
|
|
\ },
|
|
\ 'text': "foo\nbar\nbaz\n",
|
|
\ "rangeLength": 0
|
|
\}
|
|
let got = lsp#utils#diff#compute(lines1, lines2)
|
|
Assert Equals(got, want)
|
|
|
|
let lines1 = [
|
|
\ 'foo',
|
|
\ 'bar',
|
|
\ 'baz',
|
|
\]
|
|
let lines2 = []
|
|
let want = {
|
|
\ 'range': {
|
|
\ 'start': { 'line': 0, 'character': 0 },
|
|
\ 'end': { 'line': 3, 'character': 0, }
|
|
\ },
|
|
\ 'text': '',
|
|
\ "rangeLength": 12
|
|
\}
|
|
let got = lsp#utils#diff#compute(lines1, lines2)
|
|
Assert Equals(got, want)
|
|
End
|
|
End
|
|
End
|