hunk.code_window:     finishSignin(team) {
           const query = this.props.location.query;
           GlobalActions.loadCurrentLocale();
           if (query.redirect_to) {
               browserHistory.push(query.redirect_to);
           } else if (team) {
               browserHistory.push(`/${team.name}`);
           } else {
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit:         if (query.redirect_to && query.redirect_to.match(/^\//)) {
  
hunk.file_path: webapp/components/login/login_controller.jsx
hunk.type: replace
file: package cmd
  
  import (
  	"errors"
  	"io/ioutil"
  	"os"
  	"path/filepath"
  	"testing"
  )
  
  // 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)
  
  	// Initialize the project at first.
  	initializeProject(project)
  	defer os.RemoveAll(project.AbsPath())
  
  	// 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 {
  		// Know 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)
  		}
  	}
  }
  