package microdata
import (
"strings"
"testing"
)
func ReadOneItem(html string, t *testing.T) *Item {
p := NewParser(strings.NewReader(html))
data, err := p.Parse()
if err != nil {
t.Errorf("Expected no error but got %d", err)
}
if data == nil {
t.Errorf("Expected non-nil data")
}
return data.items[0]
}
func TestRead(t *testing.T) {
html := `
My name is Elizabeth.
`
item := ReadOneItem(html, t)
if item.properties["name"][0].(string) != "Elizabeth" {
t.Errorf("Property value not found")
}
}
func TestReadActuallyParses(t *testing.T) {
html := `
My name is Daniel.
`
item := ReadOneItem(html, t)
if item.properties["name"][0].(string) != "Daniel" {
t.Errorf("Property value not found")
}
}
func TestReadThreeProps(t *testing.T) {
html := `
My name is Neil.
My band is called Four Parts Water.
I am British.
`
item := ReadOneItem(html, t)
if item.properties["name"][0].(string) != "Neil" {
t.Errorf("Property value not found")
}
if item.properties["band"][0].(string) != "Four Parts Water" {
t.Errorf("Property value not found")
}
if item.properties["nationality"][0].(string) != "British" {
t.Errorf("Property value not found")
}
}
func TestReadImgSrc(t *testing.T) {
html := `
`
item := ReadOneItem(html, t)
if item.properties["image"][0].(string) != "google-logo.png" {
t.Errorf("Property value not found")
}
}
func TestReadAHref(t *testing.T) {
html := `