View Source
const (
	ExpectedCompletionsCount       = 159
	ExpectedCompletionSnippetCount = 16
	ExpectedDiagnosticsCount       = 21
	ExpectedFormatCount            = 6
	ExpectedImportCount            = 2
	ExpectedSuggestedFixCount      = 1
	ExpectedDefinitionsCount       = 39
	ExpectedTypeDefinitionsCount   = 2
	ExpectedFoldingRangesCount     = 2
	ExpectedHighlightsCount        = 2
	ExpectedReferencesCount        = 6
	ExpectedRenamesCount           = 20
	ExpectedPrepareRenamesCount    = 8
	ExpectedSymbolsCount           = 1
	ExpectedSignaturesCount        = 21
	ExpectedLinksCount             = 4

We hardcode the expected number of test cases to ensure that all tests are being executed. If a test is added, this number must be changed.


This section is empty.


func Context

func Context(t testing.TB) context.Context

func DiffDiagnostics

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

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

func Run

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


type CompletionItems

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

type CompletionSnippet

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

type CompletionSnippets

type CompletionSnippets map[span.Span]CompletionSnippet

type Completions

type Completions map[span.Span][]token.Pos

type Data

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

	Signatures Signatures
	Links      Links

	// contains filtered or unexported fields


func Load

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

func (*Data) Golden

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

type Definition

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

type Definitions

type Definitions map[span.Span]Definition

type Diagnostics

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

type FoldingRanges

type FoldingRanges []span.Span

type Formats

type Formats []span.Span

type Golden

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

type Highlights

type Highlights map[string][]span.Span

type Imports

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

type PrepareRenames

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

type References

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

type Renames

type Renames map[span.Span]string

type Signatures

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

type SuggestedFixes

type SuggestedFixes []span.Span

type Symbols

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

type SymbolsChildren

type SymbolsChildren map[string][]protocol.DocumentSymbol

type Tests

type Tests interface {
	Diagnostics(*testing.T, Diagnostics)
	Completion(*testing.T, Completions, CompletionSnippets, CompletionItems)
	FoldingRange(*testing.T, FoldingRanges)
	Format(*testing.T, Formats)
	Import(*testing.T, Imports)
	SuggestedFix(*testing.T, SuggestedFixes)
	Definition(*testing.T, Definitions)
	Highlight(*testing.T, Highlights)
	Reference(*testing.T, References)
	Rename(*testing.T, Renames)
	PrepareRename(*testing.T, PrepareRenames)
	Symbol(*testing.T, Symbols)
	SignatureHelp(*testing.T, Signatures)
	Link(*testing.T, Links)

Source Files