remove kylelemons/godebug

This commit is contained in:
z7zmey 2019-02-25 18:11:28 +02:00
parent a6519f4a2c
commit 32d9c634d1
5 changed files with 78 additions and 132 deletions

View File

@ -3,6 +3,7 @@ branches:
only:
- master
before_script:
- go get -u gotest.tools/assert
- go get -u golang.org/x/tools/cmd/goyacc
- go get -u github.com/pkg/profile
- go get -u github.com/cznic/golex/lex

View File

@ -1,29 +1,14 @@
package errors_test
import (
"reflect"
"testing"
"github.com/z7zmey/php-parser/position"
"gotest.tools/assert"
"github.com/z7zmey/php-parser/errors"
"github.com/kylelemons/godebug/pretty"
"github.com/z7zmey/php-parser/position"
)
func assertEqual(t *testing.T, expected interface{}, actual interface{}) {
if !reflect.DeepEqual(expected, actual) {
diff := pretty.Compare(expected, actual)
if diff != "" {
t.Errorf("diff: (-expected +actual)\n%s", diff)
} else {
t.Errorf("expected and actual are not equal\n")
}
}
}
func TestConstructor(t *testing.T) {
pos := position.NewPosition(1, 2, 3, 4)
@ -34,7 +19,7 @@ func TestConstructor(t *testing.T) {
Pos: pos,
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestPrint(t *testing.T) {
@ -46,7 +31,7 @@ func TestPrint(t *testing.T) {
expected := "message at line 1"
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestPrintWithotPos(t *testing.T) {
@ -56,5 +41,5 @@ func TestPrintWithotPos(t *testing.T) {
expected := "message"
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}

View File

@ -1,10 +1,10 @@
package scalar_test
import (
"reflect"
"testing"
"github.com/kylelemons/godebug/pretty"
"gotest.tools/assert"
"github.com/z7zmey/php-parser/node"
"github.com/z7zmey/php-parser/node/scalar"
"github.com/z7zmey/php-parser/walker"
@ -70,31 +70,25 @@ func (v *visitorMock) LeaveChildList(key string, w walker.Walkable) {}
func TestNameVisitorDisableChildren(t *testing.T) {
for _, tt := range nameNodesTests {
v := &visitorMock{false, nil}
v := &visitorMock{false, []string{}}
tt.node.Walk(v)
expected := []string{}
actual := v.visitedKeys
diff := pretty.Compare(expected, actual)
if diff != "" {
t.Errorf("%s diff: (-expected +actual)\n%s", reflect.TypeOf(tt.node), diff)
}
assert.DeepEqual(t, expected, actual)
}
}
func TestNameVisitor(t *testing.T) {
for _, tt := range nameNodesTests {
v := &visitorMock{true, nil}
v := &visitorMock{true, []string{}}
tt.node.Walk(v)
expected := tt.expectedVisitedKeys
actual := v.visitedKeys
diff := pretty.Compare(expected, actual)
if diff != "" {
t.Errorf("%s diff: (-expected +actual)\n%s", reflect.TypeOf(tt.node), diff)
}
assert.DeepEqual(t, expected, actual)
}
}
@ -105,9 +99,6 @@ func TestNameAttributes(t *testing.T) {
expected := tt.expectedAttributes
actual := tt.node.Attributes()
diff := pretty.Compare(expected, actual)
if diff != "" {
t.Errorf("%s diff: (-expected +actual)\n%s", reflect.TypeOf(tt.node), diff)
}
assert.DeepEqual(t, expected, actual)
}
}

View File

@ -2,30 +2,14 @@ package scanner_test
import (
"bytes"
"reflect"
"testing"
"github.com/z7zmey/php-parser/freefloating"
"github.com/z7zmey/php-parser/position"
"github.com/z7zmey/php-parser/scanner"
"github.com/kylelemons/godebug/pretty"
"gotest.tools/assert"
)
func assertEqual(t *testing.T, expected interface{}, actual interface{}) {
if !reflect.DeepEqual(expected, actual) {
diff := pretty.Compare(expected, actual)
if diff != "" {
t.Errorf("diff: (-expected +actual)\n%s", diff)
} else {
t.Errorf("expected and actual are not equal\n")
}
}
}
type lval struct {
Tkn *scanner.Token
}
@ -427,7 +411,7 @@ func TestTokens(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestSingleQuoteStringTokens(t *testing.T) {
@ -474,7 +458,7 @@ func TestSingleQuoteStringTokens(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestTeplateStringTokens(t *testing.T) {
@ -563,7 +547,7 @@ func TestTeplateStringTokens(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestBackquoteStringTokens(t *testing.T) {
@ -649,7 +633,7 @@ func TestBackquoteStringTokens(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestHereDocTokens(t *testing.T) {
@ -744,7 +728,7 @@ CAT;
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestHereDocTokens2(t *testing.T) {
@ -816,7 +800,7 @@ CAT
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestHereDocTokens3(t *testing.T) {
@ -855,7 +839,7 @@ CAT;
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestInlineHtmlNopTokens(t *testing.T) {
@ -888,7 +872,7 @@ func TestInlineHtmlNopTokens(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestStringTokensAfterVariable(t *testing.T) {
@ -925,8 +909,8 @@ func TestStringTokensAfterVariable(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assertEqual(t, expectedTokens, actualTokens)
assert.DeepEqual(t, expected, actual)
assert.DeepEqual(t, expectedTokens, actualTokens)
}
func TestSlashAfterVariable(t *testing.T) {
@ -959,8 +943,8 @@ func TestSlashAfterVariable(t *testing.T) {
actual = append(actual, scanner.LexerToken(token).String())
}
assertEqual(t, expected, actual)
assertEqual(t, expectedTokens, actualTokens)
assert.DeepEqual(t, expected, actual)
assert.DeepEqual(t, expectedTokens, actualTokens)
}
func TestCommentEnd(t *testing.T) {
@ -992,7 +976,7 @@ func TestCommentEnd(t *testing.T) {
actual := lexer.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestCommentNewLine(t *testing.T) {
@ -1024,7 +1008,7 @@ func TestCommentNewLine(t *testing.T) {
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestCommentNewLine1(t *testing.T) {
@ -1056,7 +1040,7 @@ func TestCommentNewLine1(t *testing.T) {
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestCommentNewLine2(t *testing.T) {
@ -1088,7 +1072,7 @@ func TestCommentNewLine2(t *testing.T) {
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestCommentWithPhpEndTag(t *testing.T) {
@ -1121,7 +1105,7 @@ func TestCommentWithPhpEndTag(t *testing.T) {
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestInlineComment(t *testing.T) {
@ -1154,7 +1138,7 @@ func TestInlineComment(t *testing.T) {
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestInlineComment2(t *testing.T) {
@ -1187,7 +1171,7 @@ func TestInlineComment2(t *testing.T) {
actual := lexer.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestEmptyInlineComment(t *testing.T) {
@ -1225,7 +1209,7 @@ func TestEmptyInlineComment(t *testing.T) {
actual := lexer.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestEmptyInlineComment2(t *testing.T) {
@ -1258,7 +1242,7 @@ func TestEmptyInlineComment2(t *testing.T) {
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestMethodCallTokens(t *testing.T) {
@ -1283,7 +1267,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1294,7 +1278,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1305,7 +1289,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1316,7 +1300,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1327,7 +1311,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1338,7 +1322,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1349,7 +1333,7 @@ func TestMethodCallTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestYieldFromTokens(t *testing.T) {
@ -1374,7 +1358,7 @@ func TestYieldFromTokens(t *testing.T) {
}
lexer.Lex(lv)
actual := lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = []freefloating.String{
{
@ -1385,7 +1369,7 @@ func TestYieldFromTokens(t *testing.T) {
}
lexer.Lex(lv)
actual = lv.Tkn.FreeFloating
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestIgnoreControllCharacters(t *testing.T) {
@ -1397,12 +1381,12 @@ func TestIgnoreControllCharacters(t *testing.T) {
expected := "echo"
lexer.Lex(lv)
actual := lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = "$b"
lexer.Lex(lv)
actual = lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}
func TestIgnoreControllCharactersAtStringVarOffset(t *testing.T) {
@ -1414,25 +1398,25 @@ func TestIgnoreControllCharactersAtStringVarOffset(t *testing.T) {
expected := "\""
lexer.Lex(lv)
actual := lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = "$a"
lexer.Lex(lv)
actual = lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = "["
lexer.Lex(lv)
actual = lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = "test"
lexer.Lex(lv)
actual = lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
expected = "]"
lexer.Lex(lv)
actual = lv.Tkn.Value
assertEqual(t, expected, actual)
assert.DeepEqual(t, expected, actual)
}

View File

@ -1,33 +1,18 @@
package visitor_test
import (
"reflect"
"testing"
"github.com/kylelemons/godebug/pretty"
"github.com/z7zmey/php-parser/node/scalar"
"github.com/z7zmey/php-parser/node/expr"
"github.com/z7zmey/php-parser/visitor"
"github.com/z7zmey/php-parser/node/stmt"
"gotest.tools/assert"
"github.com/z7zmey/php-parser/node"
"github.com/z7zmey/php-parser/node/expr"
"github.com/z7zmey/php-parser/node/name"
"github.com/z7zmey/php-parser/node/scalar"
"github.com/z7zmey/php-parser/node/stmt"
"github.com/z7zmey/php-parser/visitor"
)
func assertEqual(t *testing.T, expected interface{}, actual interface{}) {
if !reflect.DeepEqual(expected, actual) {
diff := pretty.Compare(expected, actual)
if diff != "" {
t.Errorf("diff: (-expected +actual)\n%s", diff)
} else {
t.Errorf("expected and actual are not equal\n")
}
}
}
func TestResolveStaticCall(t *testing.T) {
nameAB := &name.Name{Parts: []node.Node{&name.NamePart{Value: "A"}, &name.NamePart{Value: "B"}}}
nameBC := &name.Name{Parts: []node.Node{&name.NamePart{Value: "B"}, &name.NamePart{Value: "C"}}}
@ -56,7 +41,7 @@ func TestResolveStaticCall(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveStaticPropertyFetch(t *testing.T) {
@ -86,7 +71,7 @@ func TestResolveStaticPropertyFetch(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveClassConstFetch(t *testing.T) {
@ -116,7 +101,7 @@ func TestResolveClassConstFetch(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveNew(t *testing.T) {
@ -146,7 +131,7 @@ func TestResolveNew(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveInstanceOf(t *testing.T) {
@ -176,7 +161,7 @@ func TestResolveInstanceOf(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveInstanceCatch(t *testing.T) {
@ -223,7 +208,7 @@ func TestResolveInstanceCatch(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveFunctionCall(t *testing.T) {
@ -254,7 +239,7 @@ func TestResolveFunctionCall(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveConstFetch(t *testing.T) {
@ -284,7 +269,7 @@ func TestResolveConstFetch(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveGroupUse(t *testing.T) {
@ -341,7 +326,7 @@ func TestResolveGroupUse(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveTraitUse(t *testing.T) {
@ -407,7 +392,7 @@ func TestResolveTraitUse(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveClassName(t *testing.T) {
@ -442,7 +427,7 @@ func TestResolveClassName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveInterfaceName(t *testing.T) {
@ -475,7 +460,7 @@ func TestResolveInterfaceName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveTraitName(t *testing.T) {
@ -498,7 +483,7 @@ func TestResolveTraitName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveFunctionName(t *testing.T) {
@ -536,7 +521,7 @@ func TestResolveFunctionName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveMethodName(t *testing.T) {
@ -569,7 +554,7 @@ func TestResolveMethodName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
methodNode.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveClosureName(t *testing.T) {
@ -600,7 +585,7 @@ func TestResolveClosureName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
closureNode.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveConstantsName(t *testing.T) {
@ -639,7 +624,7 @@ func TestResolveConstantsName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveNamespaces(t *testing.T) {
@ -717,7 +702,7 @@ func TestResolveNamespaces(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestResolveStaticCallDinamicClassName(t *testing.T) {
@ -736,7 +721,7 @@ func TestResolveStaticCallDinamicClassName(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestDoNotResolveReservedConstants(t *testing.T) {
@ -792,7 +777,7 @@ func TestDoNotResolveReservedConstants(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestDoNotResolveReservedNames(t *testing.T) {
@ -914,7 +899,7 @@ func TestDoNotResolveReservedNames(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}
func TestDoNotResolveReservedSpecialNames(t *testing.T) {
@ -987,5 +972,5 @@ func TestDoNotResolveReservedSpecialNames(t *testing.T) {
nsResolver := visitor.NewNamespaceResolver()
ast.Walk(nsResolver)
assertEqual(t, expected, nsResolver.ResolvedNames)
assert.DeepEqual(t, expected, nsResolver.ResolvedNames)
}