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 }