github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/plugins/plugcmds/plug_map_test.go (about) 1 // Code generated by github.com/gobuffalo/mapgen. DO NOT EDIT. 2 3 package plugcmds 4 5 import ( 6 "sort" 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 ) 11 12 func Test_plugMap(t *testing.T) { 13 r := require.New(t) 14 15 sm := &plugMap{} 16 17 sm.Store("a", plug{}) 18 19 s, ok := sm.Load("a") 20 r.True(ok) 21 r.Equal(plug{}, s) 22 23 s, ok = sm.LoadOrStore("b", plug{}) 24 r.True(ok) 25 r.Equal(plug{}, s) 26 27 s, ok = sm.LoadOrStore("b", plug{}) 28 r.True(ok) 29 r.Equal(plug{}, s) 30 31 var keys []string 32 33 sm.Range(func(key string, value plug) bool { 34 keys = append(keys, key) 35 return true 36 }) 37 38 sort.Strings(keys) 39 40 r.Equal(sm.Keys(), keys) 41 42 sm.Delete("b") 43 r.Equal([]string{"a", "b"}, keys) 44 45 sm.Delete("b") 46 _, ok = sm.Load("b") 47 r.False(ok) 48 p := plug{ 49 BuffaloCommand: "foo", 50 } 51 func(m *plugMap) { 52 m.Store("c", p) 53 }(sm) 54 s, ok = sm.Load("c") 55 r.True(ok) 56 r.Equal(p, s) 57 }