github.com/hoop33/elvish@v0.0.0-20160801152013-6d25485beab4/store/shared_var_test.go (about) 1 package store 2 3 import "testing" 4 5 func TestSharedVar(t *testing.T) { 6 varname := "foo" 7 value1 := "lorem ipsum" 8 value2 := "o mores, o tempora" 9 10 // Getting an nonexistent variable should return ErrNoVar. 11 _, err := tStore.GetSharedVar(varname) 12 if err != ErrNoVar { 13 t.Error("want ErrNoVar, got", err) 14 } 15 16 // Setting a variable for the first time creates it. 17 err = tStore.SetSharedVar(varname, value1) 18 if err != nil { 19 t.Error("want no error, got", err) 20 } 21 v, err := tStore.GetSharedVar(varname) 22 if v != value1 || err != nil { 23 t.Errorf("want %q and no error, got %q and %v", value1, v, err) 24 } 25 26 // Setting an existing variable updates its value. 27 err = tStore.SetSharedVar(varname, value2) 28 if err != nil { 29 t.Error("want no error, got", err) 30 } 31 v, err = tStore.GetSharedVar(varname) 32 if v != value2 || err != nil { 33 t.Errorf("want %q and no error, got %q and %v", value2, v, err) 34 } 35 36 // After deleting a variable, access to it cause ErrNoVar. 37 err = tStore.DelSharedVar(varname) 38 if err != nil { 39 t.Error("want no error, got", err) 40 } 41 _, err = tStore.GetSharedVar(varname) 42 if err != ErrNoVar { 43 t.Error("want ErrNoVar, got", err) 44 } 45 }