diff --git a/templates/base/head_navbar.tmpl b/templates/base/head_navbar.tmpl index 95d62d9475..e5d67556c2 100644 --- a/templates/base/head_navbar.tmpl +++ b/templates/base/head_navbar.tmpl @@ -208,7 +208,7 @@ {{end}} {{if $showDevtest}}
  • - + {{svg "octicon-beaker"}} Development pages diff --git a/tests/integration/navbar_test.go b/tests/integration/navbar_test.go index 7c2766b858..03e08a4314 100644 --- a/tests/integration/navbar_test.go +++ b/tests/integration/navbar_test.go @@ -77,6 +77,9 @@ func TestNavbarItems(t *testing.T) { page := NewHTMLParser(t, regularUser.MakeRequest(t, NewRequest(t, "GET", testPage), http.StatusOK).Body) page.AssertElement(t, `details.dropdown a[href="/devtest"]`, true) + + testNavbarUserMenuActiveItem(t, regularUser, "/user/settings") + testNavbarUserMenuActiveItem(t, adminUser, "/admin") }) t.Run(`User dropdown - default conditions`, func(t *testing.T) { @@ -119,5 +122,15 @@ func TestNavbarItems(t *testing.T) { for _, assertion := range assertions { page.AssertElement(t, assertion.selector, assertion.exists) } + + testNavbarUserMenuActiveItem(t, regularUser, "/user/settings") + testNavbarUserMenuActiveItem(t, adminUser, "/admin") }) } + +// When visiting certain pages, the corresponding entry of user menu is highlighted +func testNavbarUserMenuActiveItem(t *testing.T, session *TestSession, url string) { + page := NewHTMLParser(t, session.MakeRequest(t, NewRequest(t, "GET", url), http.StatusOK).Body) + // AssertElement will only pass if there's just one such element + page.AssertElement(t, "#navbar details.dropdown li > .active", true) +}