whoops ok need path.join everwhere if i want it anywhere

master
bel 2019-06-22 17:05:28 -06:00
parent 15c5e73d05
commit 95aa3f85fe
2 changed files with 5 additions and 4 deletions

View File

@ -154,18 +154,18 @@ func TestImplementations(t *testing.T) {
validValue := []byte("value")
for _, db := range cases {
if err := db.Set(validKey, validValue); err != nil {
if err := db.Set(validKey, validValue, "ns1", "ns2"); err != nil {
t.Errorf("%T) cannot set: %v", db, err)
}
if v, err := db.Get(validKey); err != nil {
if v, err := db.Get(validKey, "ns1", "ns2"); err != nil {
t.Errorf("%T) cannot get: %v", db, err)
} else if !bytes.Equal(v, validValue) {
t.Errorf("%T) wrong get: %q vs %q", db, v, validValue)
} else if keys, err := db.List(nil); err != nil || len(keys) < 1 {
} else if keys, err := db.List([]string{"ns1", "ns2"}); err != nil || len(keys) < 1 {
t.Errorf("%T) cannot List(): %v", db, err)
} else if !strings.Contains(keys[0], validKey) {
t.Errorf("%T) List()[0] != %s: %s", db, validKey, keys[0])
} else if keys, err := db.List(nil, validKey[:1]); err != nil || len(keys) < 1 {
} else if keys, err := db.List([]string{"ns1", "ns2"}, validKey[:1]); err != nil || len(keys) < 1 {
t.Errorf("%T) cannot List(prefix): %v", db, err)
} else if !strings.Contains(keys[0], validKey) {
t.Errorf("%T) List(prefix)[0] != %s: %s", db, validKey, keys[0])

View File

@ -25,6 +25,7 @@ func NewLevelDB(path string) (*LevelDB, error) {
func (ldb *LevelDB) List(ns []string, limits ...string) ([]string, error) {
namespace := resolveNamespace(ns)
namespace = path.Join(namespace)
limits = resolveLimits(limits)
limits[0] = path.Join(namespace, limits[0])
limits[1] = path.Join(namespace, limits[1])