tools: golang.org/x/tools/internal/lsp/tests Index | Files

package tests

import "golang.org/x/tools/internal/lsp/tests"

Package tests exports functionality to be used across a variety of gopls tests.

Index

Package Files

completion.go diagnostics.go links.go tests.go

Constants

const (
    // Default runs the standard completion tests.
    CompletionDefault = CompletionTestType(iota)

    // Unimported tests the autocompletion of unimported packages.
    CompletionUnimported

    // Deep tests deep completion.
    CompletionDeep

    // Fuzzy tests deep completion and fuzzy matching.
    CompletionFuzzy

    // CaseSensitive tests case sensitive completion
    CompletionCaseSensitve

    // CompletionRank candidates in test must be valid and in the right relative order.
    CompletionRank
)

Variables

var UpdateGolden = flag.Bool("golden", false, "Update golden files")

func CheckCompletionOrder Uses

func CheckCompletionOrder(want, got []protocol.CompletionItem) string

func Context Uses

func Context(t testing.TB) context.Context

func DefaultOptions Uses

func DefaultOptions() source.Options

func DiffCompletionItems Uses

func DiffCompletionItems(want, got []protocol.CompletionItem) string

DiffCompletionItems prints the diff between expected and actual completion test results.

func DiffDiagnostics Uses

func DiffDiagnostics(want, got []source.Diagnostic) string

DiffDiagnostics prints the diff between expected and actual diagnostics test results.

func DiffLinks(mapper *protocol.ColumnMapper, wantLinks []Link, gotLinks []protocol.DocumentLink) string

DiffLinks takes the links we got and checks if they are located within the source or a Note. If the link is within a Note, the link is removed. Returns an diff comment if there are differences and empty string if no diffs

func DiffSnippets Uses

func DiffSnippets(want string, got *protocol.CompletionItem) string

func FilterBuiltins Uses

func FilterBuiltins(items []protocol.CompletionItem) []protocol.CompletionItem

func FindItem Uses

func FindItem(list []protocol.CompletionItem, want source.CompletionItem) *protocol.CompletionItem

func Run Uses

func Run(t *testing.T, tests Tests, data *Data)

func ToProtocolCompletionItem Uses

func ToProtocolCompletionItem(item source.CompletionItem) protocol.CompletionItem

func ToProtocolCompletionItems Uses

func ToProtocolCompletionItems(items []source.CompletionItem) []protocol.CompletionItem

type CaseSensitiveCompletions Uses

type CaseSensitiveCompletions map[span.Span][]Completion

type Completion Uses

type Completion struct {
    CompletionItems []token.Pos
}

type CompletionItems Uses

type CompletionItems map[token.Pos]*source.CompletionItem

type CompletionSnippet Uses

type CompletionSnippet struct {
    CompletionItem     token.Pos
    PlainSnippet       string
    PlaceholderSnippet string
}

type CompletionSnippets Uses

type CompletionSnippets map[span.Span][]CompletionSnippet

type CompletionTestType Uses

type CompletionTestType int

type Completions Uses

type Completions map[span.Span][]Completion

type Data Uses

type Data struct {
    Config                   packages.Config
    Exported                 *packagestest.Exported
    Diagnostics              Diagnostics
    CompletionItems          CompletionItems
    Completions              Completions
    CompletionSnippets       CompletionSnippets
    UnimportedCompletions    UnimportedCompletions
    DeepCompletions          DeepCompletions
    FuzzyCompletions         FuzzyCompletions
    CaseSensitiveCompletions CaseSensitiveCompletions
    RankCompletions          RankCompletions
    FoldingRanges            FoldingRanges
    Formats                  Formats
    Imports                  Imports
    SuggestedFixes           SuggestedFixes
    Definitions              Definitions
    Implementationses        Implementationses
    Highlights               Highlights
    References               References
    Renames                  Renames
    PrepareRenames           PrepareRenames
    Symbols                  Symbols

    Signatures Signatures
    Links      Links
    // contains filtered or unexported fields
}

func Load Uses

func Load(t testing.TB, exporter packagestest.Exporter, dir string) *Data

func (*Data) Golden Uses

func (data *Data) Golden(tag string, target string, update func() ([]byte, error)) []byte

func (*Data) Mapper Uses

func (data *Data) Mapper(uri span.URI) (*protocol.ColumnMapper, error)

type DeepCompletions Uses

type DeepCompletions map[span.Span][]Completion

type Definition Uses

type Definition struct {
    Name      string
    IsType    bool
    OnlyHover bool
    Src, Def  span.Span
}

type Definitions Uses

type Definitions map[span.Span]Definition

type Diagnostics Uses

type Diagnostics map[span.URI][]source.Diagnostic

type FoldingRanges Uses

type FoldingRanges []span.Span

type Formats Uses

type Formats []span.Span

type FuzzyCompletions Uses

type FuzzyCompletions map[span.Span][]Completion

type Golden Uses

type Golden struct {
    Filename string
    Archive  *txtar.Archive
    Modified bool
}

type Highlights Uses

type Highlights map[string][]span.Span

type Implementations Uses

type Implementations struct {
    Src             span.Span
    Implementations []span.Span
}

type Implementationses Uses

type Implementationses map[span.Span]Implementations

type Imports Uses

type Imports []span.Span
type Link struct {
    Src          span.Span
    Target       string
    NotePosition token.Position
}
type Links map[span.URI][]Link

type PrepareRenames Uses

type PrepareRenames map[span.Span]*source.PrepareItem

type RankCompletions Uses

type RankCompletions map[span.Span][]Completion

type References Uses

type References map[span.Span][]span.Span

type Renames Uses

type Renames map[span.Span]string

type Signatures Uses

type Signatures map[span.Span]*source.SignatureInformation

type SuggestedFixes Uses

type SuggestedFixes []span.Span

type Symbols Uses

type Symbols map[span.URI][]protocol.DocumentSymbol

type SymbolsChildren Uses

type SymbolsChildren map[string][]protocol.DocumentSymbol

type Tests Uses

type Tests interface {
    Diagnostics(*testing.T, span.URI, []source.Diagnostic)
    Completion(*testing.T, span.Span, Completion, CompletionItems)
    CompletionSnippet(*testing.T, span.Span, CompletionSnippet, bool, CompletionItems)
    UnimportedCompletion(*testing.T, span.Span, Completion, CompletionItems)
    DeepCompletion(*testing.T, span.Span, Completion, CompletionItems)
    FuzzyCompletion(*testing.T, span.Span, Completion, CompletionItems)
    CaseSensitiveCompletion(*testing.T, span.Span, Completion, CompletionItems)
    RankCompletion(*testing.T, span.Span, Completion, CompletionItems)
    FoldingRanges(*testing.T, span.Span)
    Format(*testing.T, span.Span)
    Import(*testing.T, span.Span)
    SuggestedFix(*testing.T, span.Span)
    Definition(*testing.T, span.Span, Definition)
    Implementation(*testing.T, span.Span, Implementations)
    Highlight(*testing.T, string, []span.Span)
    References(*testing.T, span.Span, []span.Span)
    Rename(*testing.T, span.Span, string)
    PrepareRename(*testing.T, span.Span, *source.PrepareItem)
    Symbols(*testing.T, span.URI, []protocol.DocumentSymbol)
    SignatureHelp(*testing.T, span.Span, *source.SignatureInformation)
    Link(*testing.T, span.URI, []Link)
}

type UnimportedCompletions Uses

type UnimportedCompletions map[span.Span][]Completion

Package tests imports 20 packages (graph) and is imported by 2 packages. Updated 2019-11-15. Refresh now. Tools for package owners.