github.com/kolbycrouch/elvish@v0.14.1-0.20210614162631-215b9ac1c423/pkg/store/storetest/dir.go (about)

     1  package storetest
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  
     7  	"src.elv.sh/pkg/store"
     8  )
     9  
    10  var (
    11  	dirsToAdd  = []string{"/usr/local", "/usr", "/usr/bin", "/usr"}
    12  	black      = map[string]struct{}{"/usr/local": {}}
    13  	wantedDirs = []store.Dir{
    14  		{
    15  			Path:  "/usr",
    16  			Score: store.DirScoreIncrement*store.DirScoreDecay*store.DirScoreDecay + store.DirScoreIncrement,
    17  		},
    18  		{
    19  			Path:  "/usr/bin",
    20  			Score: store.DirScoreIncrement * store.DirScoreDecay,
    21  		},
    22  	}
    23  	dirToDel           = "/usr"
    24  	wantedDirsAfterDel = []store.Dir{
    25  		{
    26  			Path:  "/usr/bin",
    27  			Score: store.DirScoreIncrement * store.DirScoreDecay,
    28  		},
    29  	}
    30  )
    31  
    32  // TestDir tests the directory history functionality of a Store.
    33  func TestDir(t *testing.T, tStore store.Store) {
    34  	for _, path := range dirsToAdd {
    35  		err := tStore.AddDir(path, 1)
    36  		if err != nil {
    37  			t.Errorf("tStore.AddDir(%q) => %v, want <nil>", path, err)
    38  		}
    39  	}
    40  
    41  	dirs, err := tStore.Dirs(black)
    42  	if err != nil || !reflect.DeepEqual(dirs, wantedDirs) {
    43  		t.Errorf(`tStore.ListDirs() => (%v, %v), want (%v, <nil>)`,
    44  			dirs, err, wantedDirs)
    45  	}
    46  
    47  	tStore.DelDir(dirToDel)
    48  	dirs, err = tStore.Dirs(black)
    49  	if err != nil || !reflect.DeepEqual(dirs, wantedDirsAfterDel) {
    50  		t.Errorf(`After DelDir("/usr"), tStore.ListDirs() => (%v, %v), want (%v, <nil>)`,
    51  			dirs, err, wantedDirsAfterDel)
    52  	}
    53  }