src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/edit/transcripts_test.go (about) 1 package edit 2 3 import ( 4 "embed" 5 "testing" 6 7 "src.elv.sh/pkg/edit/complete" 8 "src.elv.sh/pkg/eval" 9 "src.elv.sh/pkg/eval/evaltest" 10 ) 11 12 //go:embed *.elvts 13 var transcripts embed.FS 14 15 func TestTranscripts(t *testing.T) { 16 fnInGlobal := func(name string, impl any) func(*eval.Evaler) { 17 return func(ev *eval.Evaler) { 18 ev.ExtendBuiltin(eval.BuildNs().AddGoFn(name, impl)) 19 } 20 } 21 evaltest.TestTranscriptsInFS(t, transcripts, 22 "binding-map-in-global", fnInGlobal("binding-map", makeBindingMap), 23 "wordify-in-global", fnInGlobal("wordify", wordify), 24 "complete-getopt-in-global", fnInGlobal("complete-getopt", completeGetopt), 25 "complete-filename-in-global", fnInGlobal("complete-filename", 26 wrapArgGenerator(complete.GenerateFileNames)), 27 "complex-candidate-in-global", fnInGlobal("complex-candidate", complexCandidate), 28 "add-var-in-global", fnInGlobal("add-var", addVar), 29 "add-vars-in-global", fnInGlobal("add-vars", addVars), 30 "del-var-in-global", fnInGlobal("del-var", delVar), 31 "del-vars-in-global", fnInGlobal("del-vars", delVars), 32 ) 33 }