diff options
Diffstat (limited to 'vendor/github.com/spf13/cobra/cobra/cmd/add_test.go')
-rw-r--r-- | vendor/github.com/spf13/cobra/cobra/cmd/add_test.go | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/add_test.go b/vendor/github.com/spf13/cobra/cobra/cmd/add_test.go deleted file mode 100644 index b920e2b9d..000000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/add_test.go +++ /dev/null @@ -1,109 +0,0 @@ -package cmd - -import ( - "errors" - "io/ioutil" - "os" - "path/filepath" - "testing" - - "github.com/spf13/viper" -) - -// TestGoldenAddCmd initializes the project "github.com/spf13/testproject" -// in GOPATH, adds "test" command -// and compares the content of all files in cmd directory of testproject -// with appropriate golden files. -// Use -update to update existing golden files. -func TestGoldenAddCmd(t *testing.T) { - projectName := "github.com/spf13/testproject" - project := NewProject(projectName) - defer os.RemoveAll(project.AbsPath()) - - viper.Set("author", "NAME HERE <EMAIL ADDRESS>") - viper.Set("license", "apache") - viper.Set("year", 2017) - defer viper.Set("author", nil) - defer viper.Set("license", nil) - defer viper.Set("year", nil) - - // Initialize the project first. - initializeProject(project) - - // Then add the "test" command. - cmdName := "test" - cmdPath := filepath.Join(project.CmdPath(), cmdName+".go") - createCmdFile(project.License(), cmdPath, cmdName) - - expectedFiles := []string{".", "root.go", "test.go"} - gotFiles := []string{} - - // Check project file hierarchy and compare the content of every single file - // with appropriate golden file. - err := filepath.Walk(project.CmdPath(), func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - - // Make path relative to project.CmdPath(). - // E.g. path = "/home/user/go/src/github.com/spf13/testproject/cmd/root.go" - // then it returns just "root.go". - relPath, err := filepath.Rel(project.CmdPath(), path) - if err != nil { - return err - } - relPath = filepath.ToSlash(relPath) - gotFiles = append(gotFiles, relPath) - goldenPath := filepath.Join("testdata", filepath.Base(path)+".golden") - - switch relPath { - // Known directories. - case ".": - return nil - // Known files. - case "root.go", "test.go": - if *update { - got, err := ioutil.ReadFile(path) - if err != nil { - return err - } - ioutil.WriteFile(goldenPath, got, 0644) - } - return compareFiles(path, goldenPath) - } - // Unknown file. - return errors.New("unknown file: " + path) - }) - if err != nil { - t.Fatal(err) - } - - // Check if some files lack. - if err := checkLackFiles(expectedFiles, gotFiles); err != nil { - t.Fatal(err) - } -} - -func TestValidateCmdName(t *testing.T) { - testCases := []struct { - input string - expected string - }{ - {"cmdName", "cmdName"}, - {"cmd_name", "cmdName"}, - {"cmd-name", "cmdName"}, - {"cmd______Name", "cmdName"}, - {"cmd------Name", "cmdName"}, - {"cmd______name", "cmdName"}, - {"cmd------name", "cmdName"}, - {"cmdName-----", "cmdName"}, - {"cmdname-", "cmdname"}, - } - - for _, testCase := range testCases { - got := validateCmdName(testCase.input) - if testCase.expected != got { - t.Errorf("Expected %q, got %q", testCase.expected, got) - } - } -} |