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
|
package parser
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestHoversRead(t *testing.T) {
h := setupHovers(t)
var offset Offset
require.NoError(t, h.Offsets.Entry(2, &offset))
require.Equal(t, Offset{At: 0, Len: 19}, offset)
require.Equal(t, `[{"value":"hello"}]`, string(h.For(1)))
require.NoError(t, h.Close())
}
func setupHovers(t *testing.T) *Hovers {
h, err := NewHovers(Config{})
require.NoError(t, err)
require.NoError(t, h.Read("hoverResult", []byte(`{"id":"2","label":"hoverResult","result":{"contents": ["hello"]}}`)))
require.NoError(t, h.Read("textDocument/hover", []byte(`{"id":4,"label":"textDocument/hover","outV":"3","inV":2}`)))
require.NoError(t, h.Read("textDocument/references", []byte(`{"id":"3","label":"textDocument/references","outV":3,"inV":"1"}`)))
return h
}
|