MCPcopy Create free account
hub / github.com/docker/docker-language-server / TestRegisterCapability

Function TestRegisterCapability

e2e-tests/initialize_test.go:336–459  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

334}
335
336func 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()

Callers

nothing calls this directly

Calls 7

CloseMethod · 0.95
CreateBoolPointerFunction · 0.92
startServerFunction · 0.85
initializeCheckFunction · 0.85
CloseMethod · 0.65
ServeStreamMethod · 0.45

Tested by

no test coverage detected