Add menu test for external URL
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 14 Jan 2016 14:14:21 +0000 (15:14 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 14 Jan 2016 14:14:21 +0000 (15:14 +0100)
See #1774

hugolib/menu_test.go

index c7701e5a7592881b7848079b8e3265f4f973527d..49a5b5c6dbbe1745b3d755f4f06d70920c0c029a 100644 (file)
@@ -40,6 +40,10 @@ const (
 [[menu.main]]
     name = "Blog"
     url = "/posts"
+[[menu.main]]
+    name = "ext"
+    url = "http://gohugo.io"
+       identifier = "ext"
 [[menu.grandparent]]
        name = "grandparent"
        url = "/grandparent"
@@ -306,18 +310,32 @@ func TestPageMenu(t *testing.T) {
 
 }
 
-// issue #888
-func TestMenuWithHashInURL(t *testing.T) {
+func TestMenuURL(t *testing.T) {
        viper.Reset()
        defer viper.Reset()
-
        s := setupMenuTests(t, MENU_PAGE_SOURCES)
 
-       me := findTestMenuEntryByID(s, "hash", "hash")
+       for i, this := range []struct {
+               me          *MenuEntry
+               expectedURL string
+       }{
+               // issue #888
+               {findTestMenuEntryByID(s, "hash", "hash"), "/Zoo/resource#anchor"},
+               // issue #1774
+               {findTestMenuEntryByID(s, "main", "ext"), "http://gohugo.io"},
+       } {
+
+               if this.me == nil {
+                       t.Errorf("[%d] MenuEntry not found", i)
+                       continue
+               }
 
-       assert.NotNil(t, me)
+               if this.me.URL != this.expectedURL {
+                       t.Errorf("[%d] Got URL %s expected %s", i, this.me.URL, this.expectedURL)
+               }
+
+       }
 
-       assert.Equal(t, "/Zoo/resource#anchor", me.URL)
 }
 
 // issue #719