MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / TestHandler_Completion

Function TestHandler_Completion

pkg/lsp/server_test.go:242–279  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

240}
241
242func TestHandler_Completion(t *testing.T) {
243 mock := newMockReadWriter()
244 logger := log.New(io.Discard, "", 0)
245 server := NewServer(mock.input, mock.output, logger)
246
247 // Open a document
248 server.Documents().Open("file:///test.sql", "sql", 1, "SEL")
249
250 completionParams := CompletionParams{
251 TextDocumentPositionParams: TextDocumentPositionParams{
252 TextDocument: TextDocumentIdentifier{URI: "file:///test.sql"},
253 Position: Position{Line: 0, Character: 3},
254 },
255 }
256
257 paramsJSON, _ := json.Marshal(completionParams)
258 result, err := server.handler.HandleRequest("textDocument/completion", paramsJSON)
259 if err != nil {
260 t.Fatalf("completion failed: %v", err)
261 }
262
263 completionList, ok := result.(*CompletionList)
264 if !ok {
265 t.Fatalf("expected CompletionList, got %T", result)
266 }
267
268 // Check that SELECT is in the completions
269 found := false
270 for _, item := range completionList.Items {
271 if item.Label == "SELECT" {
272 found = true
273 break
274 }
275 }
276 if !found {
277 t.Error("expected SELECT in completion items")
278 }
279}
280
281func TestHandler_Hover(t *testing.T) {
282 mock := newMockReadWriter()

Callers

nothing calls this directly

Calls 7

DocumentsMethod · 0.95
newMockReadWriterFunction · 0.85
NewServerFunction · 0.85
OpenMethod · 0.80
HandleRequestMethod · 0.80
FatalfMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected