Skip to content

Commit 858de46

Browse files
mmorel-35Antonboom
andauthored
Suggest NotEmpty for Positive len (#124)
* Suggest NotEmpty for Positive len * fix doc & make doc, readme and tests consistent --------- Co-authored-by: Anton Telyshev <[email protected]>
1 parent c1346cf commit 858de46

File tree

5 files changed

+11
-4
lines changed

5 files changed

+11
-4
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ assert.NotEqual(t, 0, len(arr))
234234
assert.NotEqualValues(t, 0, len(arr))
235235
assert.Less(t, 0, len(arr))
236236
assert.Greater(t, len(arr), 0)
237+
assert.Positive(t, len(arr))
237238
assert.NotZero(t, len(arr))
238239
assert.NotEmpty(t, len(arr))
239240

analyzer/testdata/src/checkers-default/empty/empty_test.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

analyzer/testdata/src/checkers-default/empty/empty_test.go.golden

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ func TestEmptyChecker(t *testing.T) {
7373
assert.NotEmptyf(t, elems, "msg with args %d %s", 42, "42") // want "empty: use assert\\.NotEmptyf"
7474
assert.NotEmpty(t, elems) // want "empty: use assert\\.NotEmpty"
7575
assert.NotEmptyf(t, elems, "msg with args %d %s", 42, "42") // want "empty: use assert\\.NotEmptyf"
76+
assert.NotEmpty(t, elems) // want "empty: use assert\\.NotEmpty"
77+
assert.NotEmptyf(t, elems, "msg with args %d %s", 42, "42") // want "empty: use assert\\.NotEmptyf"
7678

7779
// Valid.
7880
assert.NotEmpty(t, elems)

internal/checkers/empty.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
// assert.NotEqualValues(t, 0, len(arr))
2929
// assert.Less(t, 0, len(arr))
3030
// assert.Greater(t, len(arr), 0)
31+
// assert.Positive(t, len(arr))
3132
// assert.NotZero(t, len(arr))
3233
// assert.NotEmpty(t, len(arr))
3334
//
@@ -133,7 +134,7 @@ func (checker Empty) checkNotEmpty(pass *analysis.Pass, call *CallMeta) *analysi
133134

134135
a := call.Args[0]
135136
switch call.Fn.NameFTrimmed {
136-
case "NotZero", "NotEmpty":
137+
case "NotZero", "NotEmpty", "Positive":
137138
lenArg, ok := isBuiltinLenCall(pass, a)
138139
if ok {
139140
return newUseNotEmptyDiagnostic(a.Pos(), a.End(), lenArg)

internal/testgen/gen_empty.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ func (g EmptyTestsGenerator) TemplateData() any {
8484
{Fn: "NotEqual", Argsf: "0, len(elems)", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
8585
{Fn: "NotEqualValues", Argsf: "len(elems), 0", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
8686
{Fn: "NotEqualValues", Argsf: "0, len(elems)", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
87-
{Fn: "Greater", Argsf: "len(elems), 0", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
8887
{Fn: "Less", Argsf: "0, len(elems)", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
88+
{Fn: "Greater", Argsf: "len(elems), 0", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
89+
{Fn: "Positive", Argsf: "len(elems)", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
8990
{Fn: "NotZero", Argsf: "len(elems)", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
9091
{Fn: "NotEmpty", Argsf: "len(elems)", ReportMsgf: report, ProposedFn: "NotEmpty", ProposedArgsf: "elems"},
9192
},

0 commit comments

Comments
 (0)