--------------------------------------------------------------------------- Hover ---------------------------------------------------------------------------
(t *testing.T)
| 181 | // --------------------------------------------------------------------------- |
| 182 | |
| 183 | func TestFunctional_Hover_KnownKeyword(t *testing.T) { |
| 184 | mock := newMockReadWriter() |
| 185 | logger := log.New(io.Discard, "", 0) |
| 186 | server := NewServer(mock.input, mock.output, logger) |
| 187 | |
| 188 | server.Documents().Open("file:///test.sql", "sql", 1, "SELECT * FROM users") |
| 189 | |
| 190 | params := TextDocumentPositionParams{ |
| 191 | TextDocument: TextDocumentIdentifier{URI: "file:///test.sql"}, |
| 192 | Position: Position{Line: 0, Character: 2}, // inside "SELECT" |
| 193 | } |
| 194 | raw, _ := json.Marshal(params) |
| 195 | result, err := server.handler.HandleRequest("textDocument/hover", raw) |
| 196 | if err != nil { |
| 197 | t.Fatal(err) |
| 198 | } |
| 199 | |
| 200 | hover := result.(*Hover) |
| 201 | if hover.Contents.Value == "" { |
| 202 | t.Error("expected hover documentation for SELECT") |
| 203 | } |
| 204 | if !strings.Contains(hover.Contents.Value, "SELECT") { |
| 205 | t.Error("hover docs should mention SELECT") |
| 206 | } |
| 207 | } |
| 208 | |
| 209 | func TestFunctional_Hover_UnknownWord(t *testing.T) { |
| 210 | mock := newMockReadWriter() |
nothing calls this directly
no test coverage detected