diff --git a/go.mod b/go.mod index 41c9c6b..3d66d9b 100644 --- a/go.mod +++ b/go.mod @@ -2,9 +2,15 @@ module code.ndumas.com/ndumas/wikilink-parser go 1.19 -require go.uber.org/zap v1.24.0 +require ( + github.com/stretchr/testify v1.8.0 + go.uber.org/zap v1.24.0 +) require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 017cf3a..b6c51c0 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,11 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= @@ -15,4 +18,8 @@ go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/lexer_test.go b/lexer_test.go index a096f74..33145c6 100644 --- a/lexer_test.go +++ b/lexer_test.go @@ -3,6 +3,7 @@ package wikilink_test import ( "testing" + "github.com/stretchr/testify/assert" "go.uber.org/zap/zapcore" "code.ndumas.com/ndumas/wikilink-parser" @@ -274,7 +275,6 @@ func Test_ObsidianWikilinks_LinksEndOfInput(t *testing.T) { } func Test_ObsidianWikilinks_Basic(t *testing.T) { - // t.Parallel() for _, tc := range SingleWikilink { mut, test := mutateTestCase( @@ -309,32 +309,8 @@ func mutateTestCase(tc tc, prefix, suffix string, expectedPrefix, expectedSuffix } return tc, func(t *testing.T) { - // t.Parallel() l := wikilink.Lex("testLexer", tc.in, zapcore.WarnLevel) defer l.L.Sync() - if len(tc.expected) != len(l.Items) { - t.Logf("expected %d tokens, got %d\n", len(tc.expected), len(l.Items)) - t.Logf("expected items: %#v\n", tc.expected) - t.Logf("raw items: %#v\n", l.Items) - t.Fail() - - return - } - for i, e := range tc.expected { - n := l.Items[i] - if e.Typ != n.Typ { - t.Logf("expected Type %s, received %s", e.Typ.String(), n.Typ.String()) - t.Fail() - - return - } - - if e.Val != n.Val { - t.Logf("expected Value %q, received %q", e.Val, n.Val) - t.Fail() - - return - } - } + assert.Equal(t, tc.expected, l.Items, "token stream mismatch") } }