Fix string search.

This commit is contained in:
Andrey Smirnov
2013-12-16 16:39:57 +04:00
parent f58db85edf
commit 247acf819e
2 changed files with 6 additions and 4 deletions

View File

@@ -7,16 +7,16 @@ import (
// StringsIsSubset checks that subset is strict subset of full, and returns
// error formatted with errorFmt otherwise
func StringsIsSubset(subset []string, full []string, errorFmt string) error {
for checked := range subset {
for _, checked := range subset {
found := false
for s := range full {
for _, s := range full {
if checked == s {
found = true
break
}
}
if !found {
return fmt.Errorf(errorFmt, checked, full)
return fmt.Errorf(errorFmt, checked)
}
}
return nil

View File

@@ -7,10 +7,12 @@ import (
type ListSuite struct {
}
var _ = Suite(&ListSuite{})
func (s *ListSuite) TestStringsIsSubset(c *C) {
err := StringsIsSubset([]string{"a", "b"}, []string{"a", "b", "c"}, "[%s]")
c.Assert(err, IsNil)
err = StringsIsSubset([]string{"b", "a"}, []string{"b", "c"}, "[%s]")
c.Assert(err, ErrorMatches, "[a]")
c.Assert(err, ErrorMatches, "\\[a\\]")
}