summaryrefslogtreecommitdiff
path: root/workhorse/internal/lsif_transformer/parser/hovers_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'workhorse/internal/lsif_transformer/parser/hovers_test.go')
-rw-r--r--workhorse/internal/lsif_transformer/parser/hovers_test.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/workhorse/internal/lsif_transformer/parser/hovers_test.go b/workhorse/internal/lsif_transformer/parser/hovers_test.go
new file mode 100644
index 00000000000..3037be103af
--- /dev/null
+++ b/workhorse/internal/lsif_transformer/parser/hovers_test.go
@@ -0,0 +1,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
+}