1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-08-06 10:25:22 +02:00

Add testifylint to lint checks (#4535)

go-require lint is ignored for now

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4535
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: TheFox0x7 <thefox0x7@gmail.com>
Co-committed-by: TheFox0x7 <thefox0x7@gmail.com>
This commit is contained in:
TheFox0x7 2024-07-30 19:41:10 +00:00 committed by Earl Warren
parent 94933470cd
commit 4de909747b
504 changed files with 5028 additions and 4680 deletions

View file

@ -9,6 +9,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func tokens(s string) (a []any) {
@ -20,15 +21,15 @@ func tokens(s string) (a []any) {
func TestEval(t *testing.T) {
n, err := Expr(0, "/", 0.0)
assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, math.IsNaN(n.Value.(float64)))
_, err = Expr(nil)
assert.ErrorContains(t, err, "unsupported token type")
require.ErrorContains(t, err, "unsupported token type")
_, err = Expr([]string{})
assert.ErrorContains(t, err, "unsupported token type")
require.ErrorContains(t, err, "unsupported token type")
_, err = Expr(struct{}{})
assert.ErrorContains(t, err, "unsupported token type")
require.ErrorContains(t, err, "unsupported token type")
cases := []struct {
expr string
@ -69,9 +70,8 @@ func TestEval(t *testing.T) {
for _, c := range cases {
n, err := Expr(tokens(c.expr)...)
if assert.NoError(t, err, "expr: %s", c.expr) {
assert.Equal(t, c.want, n.Value)
}
require.NoError(t, err, "expr: %s", c.expr)
assert.Equal(t, c.want, n.Value)
}
bads := []struct {
@ -89,6 +89,6 @@ func TestEval(t *testing.T) {
}
for _, c := range bads {
_, err = Expr(tokens(c.expr)...)
assert.ErrorContains(t, err, c.errMsg, "expr: %s", c.expr)
require.ErrorContains(t, err, c.errMsg, "expr: %s", c.expr)
}
}

View file

@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/assetfs"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestExtractErrorLine(t *testing.T) {
@ -60,10 +61,10 @@ func TestHandleError(t *testing.T) {
test := func(s string, h func(error) string, expect string) {
err := os.WriteFile(dir+"/test.tmpl", []byte(s), 0o644)
assert.NoError(t, err)
require.NoError(t, err)
tmpl := template.New("test")
_, err = tmpl.Parse(s)
assert.Error(t, err)
require.Error(t, err)
msg := h(err)
assert.EqualValues(t, strings.TrimSpace(expect), strings.TrimSpace(msg))
}
@ -93,7 +94,7 @@ template error: tmp:test:1 : unexpected "3" in operand
// no idea about how to trigger such strange error, so mock an error to test it
err := os.WriteFile(dir+"/test.tmpl", []byte("god knows XXX"), 0o644)
assert.NoError(t, err)
require.NoError(t, err)
expectedMsg := `
template error: tmp:test:1 : expected end; found XXX
----------------------------------------------------------------------

View file

@ -12,6 +12,7 @@ import (
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestScopedTemplateSetFuncMap(t *testing.T) {
@ -22,7 +23,7 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
}})
_, err := all.New("base").Parse(`{{CtxFunc "base"}}`)
assert.NoError(t, err)
require.NoError(t, err)
_, err = all.New("test").Parse(strings.TrimSpace(`
{{template "base"}}
@ -30,10 +31,10 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
{{template "base"}}
{{CtxFunc "test"}}
`))
assert.NoError(t, err)
require.NoError(t, err)
ts, err := newScopedTemplateSet(all, "test")
assert.NoError(t, err)
require.NoError(t, err)
// try to use different CtxFunc to render concurrently
@ -57,12 +58,12 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
wg.Add(2)
go func() {
err := ts.newExecutor(funcMap1).Execute(&out1, nil)
assert.NoError(t, err)
require.NoError(t, err)
wg.Done()
}()
go func() {
err := ts.newExecutor(funcMap2).Execute(&out2, nil)
assert.NoError(t, err)
require.NoError(t, err)
wg.Done()
}()
wg.Wait()
@ -73,17 +74,17 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
func TestScopedTemplateSetEscape(t *testing.T) {
all := template.New("")
_, err := all.New("base").Parse(`<a href="?q={{.param}}">{{.text}}</a>`)
assert.NoError(t, err)
require.NoError(t, err)
_, err = all.New("test").Parse(`{{template "base" .}}<form action="?q={{.param}}">{{.text}}</form>`)
assert.NoError(t, err)
require.NoError(t, err)
ts, err := newScopedTemplateSet(all, "test")
assert.NoError(t, err)
require.NoError(t, err)
out := bytes.Buffer{}
err = ts.newExecutor(nil).Execute(&out, map[string]string{"param": "/", "text": "<"})
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, `<a href="?q=%2f">&lt;</a><form action="?q=%2f">&lt;</form>`, out.String())
}
@ -91,8 +92,8 @@ func TestScopedTemplateSetEscape(t *testing.T) {
func TestScopedTemplateSetUnsafe(t *testing.T) {
all := template.New("")
_, err := all.New("test").Parse(`<a href="{{if true}}?{{end}}a={{.param}}"></a>`)
assert.NoError(t, err)
require.NoError(t, err)
_, err = newScopedTemplateSet(all, "test")
assert.ErrorContains(t, err, "appears in an ambiguous context within a URL")
require.ErrorContains(t, err, "appears in an ambiguous context within a URL")
}

View file

@ -10,6 +10,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestDict(t *testing.T) {
@ -27,9 +28,8 @@ func TestDict(t *testing.T) {
for _, c := range cases {
got, err := dict(c.args...)
if assert.NoError(t, err) {
assert.EqualValues(t, c.want, got)
}
require.NoError(t, err)
assert.EqualValues(t, c.want, got)
}
bads := []struct {
@ -41,7 +41,7 @@ func TestDict(t *testing.T) {
}
for _, c := range bads {
_, err := dict(c.args...)
assert.Error(t, err)
require.Error(t, err)
}
}
@ -51,7 +51,7 @@ func TestUtils(t *testing.T) {
tmpl.Funcs(template.FuncMap{"SliceUtils": NewSliceUtils, "StringUtils": NewStringUtils})
template.Must(tmpl.Parse(code))
w := &strings.Builder{}
assert.NoError(t, tmpl.Execute(w, data))
require.NoError(t, tmpl.Execute(w, data))
return w.String()
}
@ -75,5 +75,5 @@ func TestUtils(t *testing.T) {
template.Must(tmpl.Parse("{{SliceUtils.Contains .Slice .Value}}"))
// error is like this: `template: test:1:12: executing "test" at <SliceUtils.Contains>: error calling Contains: ...`
err := tmpl.Execute(io.Discard, map[string]any{"Slice": struct{}{}})
assert.ErrorContains(t, err, "invalid type, expected slice or array")
require.ErrorContains(t, err, "invalid type, expected slice or array")
}

View file

@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestExpandVars(t *testing.T) {
@ -62,9 +63,9 @@ func TestExpandVars(t *testing.T) {
res, err := Expand(kase.tmpl, kase.data)
assert.EqualValues(t, kase.out, res)
if kase.error {
assert.Error(t, err)
require.Error(t, err)
} else {
assert.NoError(t, err)
require.NoError(t, err)
}
})
}