| 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 |
| } |