diff options
Diffstat (limited to 'internal/lsp/compute_textedit_table_test.go')
| -rw-r--r-- | internal/lsp/compute_textedit_table_test.go | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/internal/lsp/compute_textedit_table_test.go b/internal/lsp/compute_textedit_table_test.go index d82e91d..6ed5330 100644 --- a/internal/lsp/compute_textedit_table_test.go +++ b/internal/lsp/compute_textedit_table_test.go @@ -3,31 +3,30 @@ package lsp import "testing" func TestComputeTextEditAndFilter_Table(t *testing.T) { - cases := []struct{ - name string - inParams bool - current string - pos Position - cleaned string - }{ - {"ident_replace", false, "ab cd", Position{Line:1, Character:4}, "X"}, - {"params_inside", true, "func add(a int, b string)", Position{Line:0, Character:15}, "c bool"}, - {"params_at_close", true, "func add(a int)", Position{Line:0, Character:len("func add(a int)")}, "b string"}, - } - for _, c := range cases { - te, filter := computeTextEditAndFilter(c.cleaned, c.inParams, c.current, CompletionParams{Position: c.pos}) - if te == nil { - t.Fatalf("%s: expected edit", c.name) - } - if c.inParams && te.Range.Start.Character == 0 { - t.Fatalf("%s: expected param range (non-zero start)", c.name) - } - if filter == "" && c.current != "" { - // For ident_replace, filter may be non-empty; for params, it can be empty when replacing entire segment - } - if te.NewText != c.cleaned { - t.Fatalf("%s: newText got %q want %q", c.name, te.NewText, c.cleaned) - } - } + cases := []struct { + name string + inParams bool + current string + pos Position + cleaned string + }{ + {"ident_replace", false, "ab cd", Position{Line: 1, Character: 4}, "X"}, + {"params_inside", true, "func add(a int, b string)", Position{Line: 0, Character: 15}, "c bool"}, + {"params_at_close", true, "func add(a int)", Position{Line: 0, Character: len("func add(a int)")}, "b string"}, + } + for _, c := range cases { + te, filter := computeTextEditAndFilter(c.cleaned, c.inParams, c.current, CompletionParams{Position: c.pos}) + if te == nil { + t.Fatalf("%s: expected edit", c.name) + } + if c.inParams && te.Range.Start.Character == 0 { + t.Fatalf("%s: expected param range (non-zero start)", c.name) + } + if filter == "" && c.current != "" { + // For ident_replace, filter may be non-empty; for params, it can be empty when replacing entire segment + } + if te.NewText != c.cleaned { + t.Fatalf("%s: newText got %q want %q", c.name, te.NewText, c.cleaned) + } + } } - |
