aboutsummaryrefslogtreecommitdiffhomepage
path: root/reader/opml/serializer_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'reader/opml/serializer_test.go')
-rw-r--r--reader/opml/serializer_test.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/reader/opml/serializer_test.go b/reader/opml/serializer_test.go
index 9c598ee..c0acd90 100644
--- a/reader/opml/serializer_test.go
+++ b/reader/opml/serializer_test.go
@@ -40,3 +40,27 @@ func TestSerialize(t *testing.T) {
t.Error("Serialized feed is incorrect")
}
}
+
+func TestNormalizedCategoriesOrder(t *testing.T) {
+ var orderTests = []struct {
+ naturalOrderName string
+ correctOrderName string
+ }{
+ {"Category 2", "Category 1"},
+ {"Category 3", "Category 2"},
+ {"Category 1", "Category 3"},
+ }
+
+ var subscriptions SubcriptionList
+ subscriptions = append(subscriptions, &Subcription{Title: "Feed 1", FeedURL: "http://example.org/feed/1", SiteURL: "http://example.org/1", CategoryName: orderTests[0].naturalOrderName})
+ subscriptions = append(subscriptions, &Subcription{Title: "Feed 2", FeedURL: "http://example.org/feed/2", SiteURL: "http://example.org/2", CategoryName: orderTests[1].naturalOrderName})
+ subscriptions = append(subscriptions, &Subcription{Title: "Feed 3", FeedURL: "http://example.org/feed/3", SiteURL: "http://example.org/3", CategoryName: orderTests[2].naturalOrderName})
+
+ feeds := normalizeFeeds(subscriptions)
+
+ for i, o := range orderTests {
+ if feeds.Outlines[i].Text != o.correctOrderName {
+ t.Fatalf("need %v, got %v", o.correctOrderName, feeds.Outlines[i].Text)
+ }
+ }
+}