diff --git a/microdata_test.go b/microdata_test.go index ee02c1e..3ead2fa 100644 --- a/microdata_test.go +++ b/microdata_test.go @@ -6,7 +6,7 @@ import ( ) -func ReadData(html string, t *testing.T) *Microdata { +func ParseData(html string, t *testing.T) *Microdata { p := NewParser(strings.NewReader(html)) data, err := p.Parse() @@ -21,18 +21,18 @@ func ReadData(html string, t *testing.T) *Microdata { return data } -func ReadOneItem(html string, t *testing.T) *Item { - data := ReadData(html, t) +func ParseOneItem(html string, t *testing.T) *Item { + data := ParseData(html, t) return data.items[0] } -func TestRead(t *testing.T) { +func TestParse(t *testing.T) { html := `

My name is Elizabeth.

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["name"][0].(string) != "Elizabeth" { t.Errorf("Property value not found") @@ -41,12 +41,12 @@ func TestRead(t *testing.T) { } -func TestReadActuallyParses(t *testing.T) { +func TestParseActuallyParses(t *testing.T) { html := `

My name is Daniel.

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["name"][0].(string) != "Daniel" { t.Errorf("Property value not found") @@ -55,7 +55,7 @@ func TestReadActuallyParses(t *testing.T) { } -func TestReadThreeProps(t *testing.T) { +func TestParseThreeProps(t *testing.T) { html := `

My name is Neil.

@@ -63,7 +63,7 @@ func TestReadThreeProps(t *testing.T) {

I am British.

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["name"][0].(string) != "Neil" { t.Errorf("Property value not found") @@ -79,79 +79,79 @@ func TestReadThreeProps(t *testing.T) { } -func TestReadImgSrc(t *testing.T) { +func TestParseImgSrc(t *testing.T) { html := `
Google
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["image"][0].(string) != "google-logo.png" { t.Errorf("Property value not found") } } -func TestReadAHref(t *testing.T) { +func TestParseAHref(t *testing.T) { html := `
foo
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["image"][0].(string) != "google-logo.png" { t.Errorf("Property value not found") } } -func TestReadAreaHref(t *testing.T) { +func TestParseAreaHref(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target.html" { t.Errorf("Property value not found") } } -func TestReadLinkHref(t *testing.T) { +func TestParseLinkHref(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target.html" { t.Errorf("Property value not found") } } -func TestReadAudioSrc(t *testing.T) { +func TestParseAudioSrc(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target" { t.Errorf("Property value not found") } } -func TestReadSourceSrc(t *testing.T) { +func TestParseSourceSrc(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target" { t.Errorf("Property value not found") @@ -159,78 +159,78 @@ func TestReadSourceSrc(t *testing.T) { } -func TestReadVideoSrc(t *testing.T) { +func TestParseVideoSrc(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target" { t.Errorf("Property value not found") } } -func TestReadEmbedSrc(t *testing.T) { +func TestParseEmbedSrc(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target" { t.Errorf("Property value not found") } } -func TestReadTrackSrc(t *testing.T) { +func TestParseTrackSrc(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target" { t.Errorf("Property value not found") } } -func TestReadIFrameSrc(t *testing.T) { +func TestParseIFrameSrc(t *testing.T) { html := `
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["foo"][0].(string) != "target" { t.Errorf("Property value not found") } } -func TestReadDataValue(t *testing.T) { +func TestParseDataValue(t *testing.T) { html := `

The Instigator 2000

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["product-id"][0].(string) != "9678AOU879" { t.Errorf("Property value not found") } } -func TestReadTimeDatetime(t *testing.T) { +func TestParseTimeDatetime(t *testing.T) { html := `

I was born on .

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if item.properties["birthday"][0].(string) != "2009-05-10" { t.Errorf("Property value not found") @@ -239,7 +239,7 @@ func TestReadTimeDatetime(t *testing.T) { -func TestReadTwoValues(t *testing.T) { +func TestParseTwoValues(t *testing.T) { html := `

Flavors in my favorite ice cream:

@@ -249,7 +249,7 @@ func TestReadTwoValues(t *testing.T) {
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if len(item.properties["flavor"]) != 2 { t.Errorf("Expecting 2 values but got %d",len(item.properties["flavor"]) ) } @@ -263,13 +263,13 @@ func TestReadTwoValues(t *testing.T) { } -func TestReadTwoPropertiesOneValue(t *testing.T) { +func TestParseTwoPropertiesOneValue(t *testing.T) { html := `
orange
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if len(item.properties) != 2 { t.Errorf("Expecting 2 properties but got %d",len(item.properties) ) } @@ -287,13 +287,13 @@ func TestReadTwoPropertiesOneValue(t *testing.T) { } } -func TestReadTwoPropertiesOneValueMultispaced(t *testing.T) { +func TestParseTwoPropertiesOneValueMultispaced(t *testing.T) { html := `
orange
` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if len(item.properties) != 2 { t.Errorf("Expecting 2 properties but got %d",len(item.properties) ) } @@ -312,13 +312,13 @@ func TestReadTwoPropertiesOneValueMultispaced(t *testing.T) { } } -func TestReadItemType(t *testing.T) { +func TestParseItemType(t *testing.T) { html := `

Hedral

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if len(item.types) != 1 { t.Errorf("Expecting 1 type but got %d",len(item.types) ) } @@ -328,13 +328,13 @@ func TestReadItemType(t *testing.T) { } } -func TestReadMultiplrItemTypes(t *testing.T) { +func TestParseMultipleItemTypes(t *testing.T) { html := `

Hedral

` - item := ReadOneItem(html, t) + item := ParseOneItem(html, t) if len(item.types) != 2 { t.Errorf("Expecting 2 types but got %d",len(item.types) ) } @@ -345,4 +345,24 @@ func TestReadMultiplrItemTypes(t *testing.T) { if item.types[1] != "http://example.org/animals#cat" { t.Errorf("Expecting type of 'http://example.org/animals#cat' but got %d",item.types[1]) } -} \ No newline at end of file +} + +func TestParseItemId(t *testing.T) { + html := `
+
Title +
The Reality Dysfunction +
Author +
Publication date +
+
` + + item := ParseOneItem(html, t) + + if item.id != "urn:isbn:0-330-34032-8" { + t.Errorf("Expecting id of 'urn:isbn:0-330-34032-8' but got %d",item.id) + } +} +