package jmespath import ( "testing" "github.com/stretchr/testify/assert" ) func TestValidPrecompiledExpressionSearches(t *testing.T) { assert := assert.New(t) data := make(map[string]interface{}) data["foo"] = "bar" precompiled, err := Compile("foo") assert.Nil(err) result, err := precompiled.Search(data) assert.Nil(err) assert.Equal("bar", result) } func TestInvalidPrecompileErrors(t *testing.T) { assert := assert.New(t) _, err := Compile("not a valid expression") assert.NotNil(err) } func TestInvalidMustCompilePanics(t *testing.T) { defer func() { r := recover() assert.NotNil(t, r) }() MustCompile("not a valid expression") }