|
|
@@ -1865,3 +1865,99 @@ func TestParseEntryWithIDAsURL(t *testing.T) {
|
|
|
t.Errorf("Incorrect entry URL, got: %s", feed.Entries[1].URL)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func TestParseFeedWithLanguage(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr-CA">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("http://example.org/feed.xml", bytes.NewReader([]byte(data)), "10")
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Language != "fr-ca" {
|
|
|
+ t.Errorf("Incorrect language, got: %q", feed.Language)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestParseFeedWithoutLanguage(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("http://example.org/feed.xml", bytes.NewReader([]byte(data)), "10")
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Language != "" {
|
|
|
+ t.Errorf("Expected empty language, got: %q", feed.Language)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestParseEntryWithLanguage(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
|
|
|
+ <entry xml:lang="fr-CA">
|
|
|
+ <title>Bonjour</title>
|
|
|
+ <link href="http://example.org/2003/12/13/bonjour"/>
|
|
|
+ <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ </entry>
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("http://example.org/feed.xml", bytes.NewReader([]byte(data)), "10")
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(feed.Entries) != 1 {
|
|
|
+ t.Fatalf("Expected 1 entry, got: %d", len(feed.Entries))
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Entries[0].Language != "fr-ca" {
|
|
|
+ t.Errorf("Incorrect entry language, got: %q", feed.Entries[0].Language)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestParseEntryWithoutLanguage(t *testing.T) {
|
|
|
+ data := `<?xml version="1.0" encoding="utf-8"?>
|
|
|
+ <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
|
|
|
+ <title>Example Feed</title>
|
|
|
+ <link href="http://example.org/"/>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
|
|
|
+ <entry>
|
|
|
+ <title>Hello</title>
|
|
|
+ <link href="http://example.org/2003/12/13/hello"/>
|
|
|
+ <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
|
|
+ <updated>2003-12-13T18:30:02Z</updated>
|
|
|
+ </entry>
|
|
|
+ </feed>`
|
|
|
+
|
|
|
+ feed, err := Parse("http://example.org/feed.xml", bytes.NewReader([]byte(data)), "10")
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(feed.Entries) != 1 {
|
|
|
+ t.Fatalf("Expected 1 entry, got: %d", len(feed.Entries))
|
|
|
+ }
|
|
|
+
|
|
|
+ if feed.Entries[0].Language != "" {
|
|
|
+ t.Errorf("Expected empty entry language, got: %q", feed.Entries[0].Language)
|
|
|
+ }
|
|
|
+}
|