linttest

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 15, 2021 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

Package linttest provides linter testing utilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindPHPFiles added in v0.3.0

func FindPHPFiles(root string) ([]string, error)

func GetFileReports

func GetFileReports(t *testing.T, contents string) []*linter.Report

GetFileReports runs linter over a single file out of given content and returns all reports that were found.

func InitEmbeddedRules added in v0.3.0

func InitEmbeddedRules() error

InitEmbeddedRules initializes embedded rules for testing.

func ParseTestFile

func ParseTestFile(t *testing.T, filename, content string) (rootNode *ir.Root, w *linter.RootWalker)

ParseTestFile parses given test file.

func PrepareGoldenTestSuite added in v0.3.0

func PrepareGoldenTestSuite(s *GoldenTestSuite, t *testing.T, baseDir, goldenFileName string)

PrepareGoldenTestSuite configures fields and standard stubs.

Used if the structure was created directly.

func RunFilterMatch added in v0.3.0

func RunFilterMatch(test *Suite, names ...string)

RunFilterMatch calls Match with the filtered results of RunLinter.

func SimpleNegativeTest

func SimpleNegativeTest(t *testing.T, contents string)

SimpleNegativeTest runs linter over a single file out of given content and expects there to be no warnings.

For positive testing, use Suite type directly.

Types

type GoldenE2ETestSuite added in v0.3.0

type GoldenE2ETestSuite struct {
	// contains filtered or unexported fields
}

func NewGoldenE2ETestSuite added in v0.3.0

func NewGoldenE2ETestSuite(t *testing.T) *GoldenE2ETestSuite

func (*GoldenE2ETestSuite) AddTest added in v0.3.0

func (s *GoldenE2ETestSuite) AddTest(test *GoldenTestSuite)

func (*GoldenE2ETestSuite) BuildNoVerify added in v0.3.0

func (s *GoldenE2ETestSuite) BuildNoVerify()

func (*GoldenE2ETestSuite) RemoveNoVerify added in v0.3.0

func (s *GoldenE2ETestSuite) RemoveNoVerify()

func (*GoldenE2ETestSuite) RemoveTestsFiles added in v0.3.0

func (s *GoldenE2ETestSuite) RemoveTestsFiles()

func (*GoldenE2ETestSuite) Run added in v0.3.0

func (s *GoldenE2ETestSuite) Run()

func (*GoldenE2ETestSuite) RunOnlyTests added in v0.3.0

func (s *GoldenE2ETestSuite) RunOnlyTests()

type GoldenTestSuite added in v0.3.0

type GoldenTestSuite struct {
	Name    string
	Deps    []string
	Disable []string

	OnlyE2E   bool
	Gitignore bool
	Baseline  bool

	SrcDir         string
	BaseDir        string
	GoldenFileName string
	// contains filtered or unexported fields
}

func NewGoldenTestSuite added in v0.3.0

func NewGoldenTestSuite(t *testing.T, name, baseDir, goldenFileName string) *GoldenTestSuite

NewGoldenTestSuite returns a new golden test suite for t.

func (*GoldenTestSuite) AddDeps added in v0.3.0

func (s *GoldenTestSuite) AddDeps(deps []string)

func (*GoldenTestSuite) AddDisabled added in v0.3.0

func (s *GoldenTestSuite) AddDisabled(disabled []string)

func (*GoldenTestSuite) Run added in v0.3.0

func (s *GoldenTestSuite) Run()

type Suite

type Suite struct {
	Files  []TestFile
	Expect []string

	AllowDisable *regexp.Regexp

	LoadStubs []string

	MisspellList string

	IgnoreUndeclaredChecks bool
	// contains filtered or unexported fields
}

Suite is a configurable test runner for linter.

Use NewSuite to create usable instance.

func NewSuite

func NewSuite(t testing.TB) *Suite

NewSuite returns a new linter test suite for t.

func (*Suite) AddFile

func (s *Suite) AddFile(contents string)

AddFile adds a file to a suite file list. File gets an auto-generated name. If custom name is important, use AddNamedFile.

func (*Suite) AddNamedFile added in v0.3.0

func (s *Suite) AddNamedFile(name, contents string)

AddNamedFile adds a file with a specific name to a suite file list.

func (*Suite) AddNolintFile

func (s *Suite) AddNolintFile(contents string)

AddNolintFile adds a file to a suite file list that will be parsed, but not linted. File gets an auto-generated name. If custom name is important, append a properly initialized TestFile to a s Files slice directly.

func (*Suite) Match

func (s *Suite) Match(reports []*linter.Report)

Match tries to match every report against Expect list of s.

If expect slice is nil or empty, only nil (or empty) reports slice would match it.

func (*Suite) ReadAndAddFiles added in v0.3.0

func (s *Suite) ReadAndAddFiles(files []string)

ReadAndAddFiles read and adds a files to a suite file list.

func (*Suite) RunAndMatch

func (s *Suite) RunAndMatch()

RunAndMatch calls Match with the results of RunLinter.

This is a recommended way to use the Suite, but if reports slice is needed, one can use RunLinter directly.

func (*Suite) RunFilterLinter added in v0.3.0

func (s *Suite) RunFilterLinter(filters []string) []*linter.Report

RunFilterLinter calls RunLinter with the filter.

func (*Suite) RunLinter

func (s *Suite) RunLinter() []*linter.Report

RunLinter executes linter over s Files and returns all issue reports that were produced during that.

type TestFile

type TestFile struct {
	Name string

	// Data is a file contents.
	Data []byte

	// Nolint marks file as one that ignores all warnings.
	// Can be used to define builtins, for example.
	Nolint bool
}

TestFile describes a file to be tested.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL