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  }