(t *testing.T)
| 334 | } |
| 335 | |
| 336 | func TestRegisterCapability(t *testing.T) { |
| 337 | testCases := []struct { |
| 338 | name string |
| 339 | params protocol.InitializeParams |
| 340 | initializeResult func() protocol.InitializeResult |
| 341 | registrationParams *protocol.RegistrationParams |
| 342 | }{ |
| 343 | { |
| 344 | name: "dynamic formatting supported", |
| 345 | params: protocol.InitializeParams{ |
| 346 | Capabilities: protocol.ClientCapabilities{ |
| 347 | TextDocument: &protocol.TextDocumentClientCapabilities{ |
| 348 | Formatting: &protocol.DocumentFormattingClientCapabilities{ |
| 349 | DynamicRegistration: types.CreateBoolPointer(true), |
| 350 | }, |
| 351 | }, |
| 352 | }, |
| 353 | }, |
| 354 | initializeResult: func() protocol.InitializeResult { |
| 355 | expected := createGuaranteedInitializeResult() |
| 356 | expected.Capabilities.RenameProvider = protocol.RenameOptions{PrepareProvider: types.CreateBoolPointer(true)} |
| 357 | return expected |
| 358 | }, |
| 359 | registrationParams: &protocol.RegistrationParams{ |
| 360 | Registrations: []protocol.Registration{ |
| 361 | { |
| 362 | ID: "docker.lsp.dockerbake.textDocument.formatting", |
| 363 | Method: "textDocument/formatting", |
| 364 | RegisterOptions: map[string]any{ |
| 365 | "documentSelector": []any{map[string]any{"language": "dockerbake"}}, |
| 366 | }, |
| 367 | }, |
| 368 | { |
| 369 | ID: "docker.lsp.dockercompose.textDocument.formatting", |
| 370 | Method: "textDocument/formatting", |
| 371 | RegisterOptions: map[string]any{ |
| 372 | "documentSelector": []any{map[string]any{"language": "dockercompose"}}, |
| 373 | }, |
| 374 | }, |
| 375 | }, |
| 376 | }, |
| 377 | }, |
| 378 | { |
| 379 | name: "dynamic formatting supported but composeSupport is false", |
| 380 | params: protocol.InitializeParams{ |
| 381 | InitializationOptions: map[string]any{ |
| 382 | "dockercomposeExperimental": map[string]bool{"composeSupport": false}, |
| 383 | }, |
| 384 | Capabilities: protocol.ClientCapabilities{ |
| 385 | TextDocument: &protocol.TextDocumentClientCapabilities{ |
| 386 | Formatting: &protocol.DocumentFormattingClientCapabilities{ |
| 387 | DynamicRegistration: types.CreateBoolPointer(true), |
| 388 | }, |
| 389 | }, |
| 390 | }, |
| 391 | }, |
| 392 | initializeResult: func() protocol.InitializeResult { |
| 393 | expected := createGuaranteedInitializeResult() |
nothing calls this directly
no test coverage detected