|  | package action | 
|  |  | 
|  | import ( | 
|  | "io/ioutil" | 
|  | "testing" | 
|  |  | 
|  | "github.com/Masterminds/glide/cfg" | 
|  | "github.com/Masterminds/glide/msg" | 
|  | ) | 
|  |  | 
|  | func TestAddPkgsToConfig(t *testing.T) { | 
|  | // Route output to discard so it's not displayed with the test output. | 
|  | o := msg.Default.Stderr | 
|  | msg.Default.Stderr = ioutil.Discard | 
|  |  | 
|  | conf := new(cfg.Config) | 
|  | dep := new(cfg.Dependency) | 
|  | dep.Name = "github.com/Masterminds/cookoo" | 
|  | dep.Subpackages = append(dep.Subpackages, "convert") | 
|  | conf.Imports = append(conf.Imports, dep) | 
|  |  | 
|  | names := []string{ | 
|  | "github.com/Masterminds/cookoo/fmt", | 
|  | "github.com/Masterminds/semver", | 
|  | } | 
|  |  | 
|  | addPkgsToConfig(conf, names, false, true, false) | 
|  |  | 
|  | if !conf.HasDependency("github.com/Masterminds/semver") { | 
|  | t.Error("addPkgsToConfig failed to add github.com/Masterminds/semver") | 
|  | } | 
|  |  | 
|  | d := conf.Imports.Get("github.com/Masterminds/cookoo") | 
|  | found := false | 
|  | for _, s := range d.Subpackages { | 
|  | if s == "fmt" { | 
|  | found = true | 
|  | } | 
|  | } | 
|  | if !found { | 
|  | t.Error("addPkgsToConfig failed to add subpackage to existing import") | 
|  | } | 
|  |  | 
|  | // Restore messaging to original location | 
|  | msg.Default.Stderr = o | 
|  | } |