package cascadia import ( "bytes" "encoding/json" "fmt" "io/ioutil" "log" "reflect" "strings" "testing" "golang.org/x/net/html" ) var validSelectors []validSelector func init() { c, err := ioutil.ReadFile("test_resources/valid_selectors.json") if err != nil { log.Fatal(err) } if err = json.Unmarshal(c, &validSelectors); err != nil { log.Fatal(err) } } type selectorTest struct { HTML, selector string results []string } func nodeString(n *html.Node) string { buf := bytes.NewBufferString("") if err := html.Render(buf, n); err != nil { log.Fatal(err) } return buf.String() } var selectorTests = []selectorTest{ { `
This address...
`, "address", []string{ "
This address...
", }, }, { `text`, "*", []string{ "text", "", "text", }, }, { ``, "*", []string{ "", "", "", }, }, { `

`, "#foo", []string{ `

`, }, }, { `