From 621e49bb465f500cc46d47e39e828cf76d6381d7 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 24 Jul 2018 14:35:44 +0200 Subject: update vendor --- .../github.com/golang/mock/mockgen/parse_test.go | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 vendor/github.com/golang/mock/mockgen/parse_test.go (limited to 'vendor/github.com/golang/mock/mockgen/parse_test.go') diff --git a/vendor/github.com/golang/mock/mockgen/parse_test.go b/vendor/github.com/golang/mock/mockgen/parse_test.go new file mode 100644 index 0000000..47e4d79 --- /dev/null +++ b/vendor/github.com/golang/mock/mockgen/parse_test.go @@ -0,0 +1,108 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "testing" +) + +func TestFileParser_ParseFile(t *testing.T) { + fs := token.NewFileSet() + file, err := parser.ParseFile(fs, "tests/custom_package_name/greeter/greeter.go", nil, 0) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + + p := fileParser{ + fileSet: fs, + imports: make(map[string]string), + importedInterfaces: make(map[string]map[string]*ast.InterfaceType), + } + + pkg, err := p.parseFile("", file) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + + checkGreeterImports(t, p.imports) + + expectedName := "greeter" + if pkg.Name != expectedName { + t.Fatalf("Expected name to be %v but got %v", expectedName, pkg.Name) + } + + expectedInterfaceName := "InputMaker" + if pkg.Interfaces[0].Name != expectedInterfaceName { + t.Fatalf("Expected interface name to be %v but got %v", expectedInterfaceName, pkg.Interfaces[0].Name) + } +} + +func TestFileParser_ParsePackage(t *testing.T) { + fs := token.NewFileSet() + _, err := parser.ParseFile(fs, "tests/custom_package_name/greeter/greeter.go", nil, 0) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + + p := fileParser{ + fileSet: fs, + imports: make(map[string]string), + importedInterfaces: make(map[string]map[string]*ast.InterfaceType), + } + + err = p.parsePackage("github.com/golang/mock/mockgen/tests/custom_package_name/greeter") + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + + checkGreeterImports(t, p.imports) +} + +func TestImportsOfFile(t *testing.T) { + fs := token.NewFileSet() + file, err := parser.ParseFile(fs, "tests/custom_package_name/greeter/greeter.go", nil, 0) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + + imports := importsOfFile(file) + checkGreeterImports(t, imports) +} + +func checkGreeterImports(t *testing.T, imports map[string]string) { + // check that imports have stdlib package "fmt" + if fmtPackage, ok := imports["fmt"]; !ok { + t.Errorf("Expected imports to have key \"fmt\"") + } else { + expectedFmtPackage := "fmt" + if fmtPackage != expectedFmtPackage { + t.Errorf("Expected fmt key to have value %s but got %s", expectedFmtPackage, fmtPackage) + } + } + + // check that imports have package named "validator" + if validatorPackage, ok := imports["validator"]; !ok { + t.Errorf("Expected imports to have key \"fmt\"") + } else { + expectedValidatorPackage := "github.com/golang/mock/mockgen/tests/custom_package_name/validator" + if validatorPackage != expectedValidatorPackage { + t.Errorf("Expected validator key to have value %s but got %s", expectedValidatorPackage, validatorPackage) + } + } + + // check that imports have package named "client" + if clientPackage, ok := imports["client"]; !ok { + t.Errorf("Expected imports to have key \"client\"") + } else { + expectedClientPackage := "github.com/golang/mock/mockgen/tests/custom_package_name/client/v1" + if clientPackage != expectedClientPackage { + t.Errorf("Expected client key to have value %s but got %s", expectedClientPackage, clientPackage) + } + } + + // check that imports don't have package named "v1" + if _, ok := imports["v1"]; ok { + t.Errorf("Expected import not to have key \"v1\"") + } +} -- cgit v1.2.3