github.com/markusbkk/elvish@v0.0.0-20231204143114-91dc52438621/pkg/eval/go_fn_internal_test.go (about)

     1  package eval
     2  
     3  import (
     4  	"testing"
     5  	"unsafe"
     6  
     7  	"github.com/markusbkk/elvish/pkg/eval/vals"
     8  	"github.com/markusbkk/elvish/pkg/persistent/hash"
     9  )
    10  
    11  func TestGoFnAsValue(t *testing.T) {
    12  	fn1 := NewGoFn("fn1", func() {})
    13  	fn2 := NewGoFn("fn2", func() {})
    14  	vals.TestValue(t, fn1).
    15  		Kind("fn").
    16  		Hash(hash.Pointer(unsafe.Pointer(fn1.(*goFn)))).
    17  		Equal(fn1).
    18  		NotEqual(fn2).
    19  		Repr("<builtin fn1>")
    20  }