mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-13 22:38:04 +00:00
32 lines
629 B
Go
32 lines
629 B
Go
package treeops
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/mikefarah/yq/v3/test"
|
|
)
|
|
|
|
type expressionScenario struct {
|
|
document string
|
|
expression string
|
|
expected []string
|
|
}
|
|
|
|
func testScenario(t *testing.T, s *expressionScenario) {
|
|
|
|
nodes := readDoc(t, s.document)
|
|
path, errPath := treeCreator.ParsePath(s.expression)
|
|
if errPath != nil {
|
|
t.Error(errPath)
|
|
return
|
|
}
|
|
results, errNav := treeNavigator.GetMatchingNodes(nodes, path)
|
|
|
|
if errNav != nil {
|
|
t.Error(errNav)
|
|
return
|
|
}
|
|
test.AssertResultComplexWithContext(t, s.expected, resultsToString(results), fmt.Sprintf("exp: %v\ndoc: %v", s.expression, s.document))
|
|
}
|