github.com/elves/Elvish@v0.12.0/eval/builtin_fn_misc_test.go (about)

     1  package eval
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/elves/elvish/util"
     7  )
     8  
     9  func TestBuiltinFnMisc(t *testing.T) {
    10  	Test(t,
    11  		That(`f = (mktemp elvXXXXXX); echo 'put x' > $f
    12  		      -source $f; rm $f`).Puts("x"),
    13  		That(`f = (mktemp elvXXXXXX); echo 'put $x' > $f
    14  		      fn p [x]{ -source $f }; p x; rm $f`).Puts("x"),
    15  	)
    16  }
    17  
    18  func TestResolve(t *testing.T) {
    19  	util.InTempDir(func(libdir string) {
    20  		MustWriteFile("mod.elv", []byte("fn func { }"), 0600)
    21  
    22  		TestWithSetup(t, func(ev *Evaler) { ev.SetLibDir(libdir) },
    23  			That("resolve for").Puts("special"),
    24  			That("resolve put").Puts("$put~"),
    25  			That("fn f { }; resolve f").Puts("$f~"),
    26  			That("use mod; resolve mod:func").Puts("$mod:func~"),
    27  			That("resolve cat").Puts("(external cat)"),
    28  		)
    29  	})
    30  }