shithub: mycel

ref: a687c85de1959516bcd1c881a5a40a0078c81325
dir: /nodes/nodes_test.go/

View raw version
package nodes

import (
	"golang.org/x/net/html"
	"github.com/psilva261/opossum/style"
	"strings"
	"testing"
)

func TestFilterText(t *testing.T) {
	in := "eben­falls"
	exp := "ebenfalls"
	if out := filterText(in); out != exp {
		t.Fatalf("%+v", out)
	}
}

func TestQueryRef(t *testing.T) {
	buf := strings.NewReader(`
	<html>
		<body>
			<p>
				<b>bold stuff</b>
				<i>italic stuff</i>
				<a>link</a>
			</p>
		</body>
	</html>`)
	doc, err := html.Parse(buf)
	if err != nil { t.Fatalf(err.Error()) }
	nt := NewNodeTree(doc, style.Map{}, make(map[*html.Node]style.Map), nil)
	p := nt.Children[0].Children[1].Children[1]
	a := p.Children[5]
	if q := a.QueryRef(); q != "p a" { t.Fatalf("%v", q) }
}

func TestSetText(t *testing.T) {
	buf := strings.NewReader("<textarea>initial</textarea>")
	doc, err := html.Parse(buf)
	if err != nil { t.Fatalf(err.Error()) }
	n := NewNodeTree(doc, style.Map{}, make(map[*html.Node]style.Map), nil)
	if s := ContentFrom(*n); s != "initial" {
		t.Fatalf(s)
	}
	n.SetText("123")
	if s := ContentFrom(*n); s != "123" {
		t.Fatalf(s)
	}
}