aboutsummaryrefslogtreecommitdiff
path: root/internal/lsp/source/options_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/lsp/source/options_test.go')
-rw-r--r--internal/lsp/source/options_test.go183
1 files changed, 0 insertions, 183 deletions
diff --git a/internal/lsp/source/options_test.go b/internal/lsp/source/options_test.go
deleted file mode 100644
index f8260c1dd..000000000
--- a/internal/lsp/source/options_test.go
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package source
-
-import (
- "testing"
- "time"
-)
-
-func TestSetOption(t *testing.T) {
- tests := []struct {
- name string
- value interface{}
- wantError bool
- check func(Options) bool
- }{
- {
- name: "symbolStyle",
- value: "Dynamic",
- check: func(o Options) bool { return o.SymbolStyle == DynamicSymbols },
- },
- {
- name: "symbolStyle",
- value: "",
- wantError: true,
- check: func(o Options) bool { return o.SymbolStyle == "" },
- },
- {
- name: "symbolStyle",
- value: false,
- wantError: true,
- check: func(o Options) bool { return o.SymbolStyle == "" },
- },
- {
- name: "symbolMatcher",
- value: "caseInsensitive",
- check: func(o Options) bool { return o.SymbolMatcher == SymbolCaseInsensitive },
- },
- {
- name: "completionBudget",
- value: "2s",
- check: func(o Options) bool { return o.CompletionBudget == 2*time.Second },
- },
- {
- name: "staticcheck",
- value: true,
- check: func(o Options) bool { return o.Staticcheck == true },
- },
- {
- name: "codelenses",
- value: map[string]interface{}{"generate": true},
- check: func(o Options) bool { return o.Codelenses["generate"] },
- },
- {
- name: "allExperiments",
- value: true,
- check: func(o Options) bool {
- return true // just confirm that we handle this setting
- },
- },
- {
- name: "hoverKind",
- value: "FullDocumentation",
- check: func(o Options) bool {
- return o.HoverKind == FullDocumentation
- },
- },
- {
- name: "hoverKind",
- value: "NoDocumentation",
- check: func(o Options) bool {
- return o.HoverKind == NoDocumentation
- },
- },
- {
- name: "hoverKind",
- value: "SingleLine",
- check: func(o Options) bool {
- return o.HoverKind == SingleLine
- },
- },
- {
- name: "hoverKind",
- value: "Structured",
- check: func(o Options) bool {
- return o.HoverKind == Structured
- },
- },
- {
- name: "ui.documentation.hoverKind",
- value: "Structured",
- check: func(o Options) bool {
- return o.HoverKind == Structured
- },
- },
- {
- name: "matcher",
- value: "Fuzzy",
- check: func(o Options) bool {
- return o.Matcher == Fuzzy
- },
- },
- {
- name: "matcher",
- value: "CaseSensitive",
- check: func(o Options) bool {
- return o.Matcher == CaseSensitive
- },
- },
- {
- name: "matcher",
- value: "CaseInsensitive",
- check: func(o Options) bool {
- return o.Matcher == CaseInsensitive
- },
- },
- {
- name: "env",
- value: map[string]interface{}{"testing": "true"},
- check: func(o Options) bool {
- v, found := o.Env["testing"]
- return found && v == "true"
- },
- },
- {
- name: "env",
- value: []string{"invalid", "input"},
- wantError: true,
- check: func(o Options) bool {
- return o.Env == nil
- },
- },
- {
- name: "directoryFilters",
- value: []interface{}{"-node_modules", "+project_a"},
- check: func(o Options) bool {
- return len(o.DirectoryFilters) == 2
- },
- },
- {
- name: "directoryFilters",
- value: []interface{}{"invalid"},
- wantError: true,
- check: func(o Options) bool {
- return len(o.DirectoryFilters) == 0
- },
- },
- {
- name: "directoryFilters",
- value: []string{"-invalid", "+type"},
- wantError: true,
- check: func(o Options) bool {
- return len(o.DirectoryFilters) == 0
- },
- },
- {
- name: "annotations",
- value: map[string]interface{}{
- "Nil": false,
- "noBounds": true,
- },
- wantError: true,
- check: func(o Options) bool {
- return !o.Annotations[Nil] && !o.Annotations[Bounds]
- },
- },
- }
-
- for _, test := range tests {
- var opts Options
- result := opts.set(test.name, test.value, map[string]struct{}{})
- if (result.Error != nil) != test.wantError {
- t.Fatalf("Options.set(%q, %v): result.Error = %v, want error: %t", test.name, test.value, result.Error, test.wantError)
- }
- // TODO: this could be made much better using cmp.Diff, if that becomes
- // available in this module.
- if !test.check(opts) {
- t.Errorf("Options.set(%q, %v): unexpected result %+v", test.name, test.value, opts)
- }
- }
-}