diff --git a/crates/mdbook-html/front-end/templates/toc.js.hbs b/crates/mdbook-html/front-end/templates/toc.js.hbs index 81ec2c9200..132da23cd3 100644 --- a/crates/mdbook-html/front-end/templates/toc.js.hbs +++ b/crates/mdbook-html/front-end/templates/toc.js.hbs @@ -392,7 +392,7 @@ window.customElements.define('mdbook-sidebar-scrollbox', MDBookSidebarScrollbox) stack.push({level: nextLevel, ol: ol}); } } else if (level < currentLevel) { - while (stack.length > 1 && stack[stack.length - 1].level >= level) { + while (stack.length > 1 && stack[stack.length - 1].level > level) { stack.pop(); } } diff --git a/tests/gui/heading-nav-collapsed.goml b/tests/gui/heading-nav-collapsed.goml index 003d7e68fc..b64d117461 100644 --- a/tests/gui/heading-nav-collapsed.goml +++ b/tests/gui/heading-nav-collapsed.goml @@ -10,6 +10,8 @@ assert-text: (".current-header", "Heading 1") assert-attribute: ("li:has(> span > a[href='#heading-12'])", {"class": "header-item"}) assert-attribute: ("li:has(> span > a[href='#heading-21'])", {"class": "header-item"}) +assert-property: ("div.on-this-page", {"innerHTML": '
  1. Heading 1
    1. Heading 1.1
    2. Heading 1.2
      1. Heading 1.2.1
      2. Heading 1.2.2
    3. Heading 1.3
  2. Heading 2
    1. Heading 2.1
      1. Heading 2.1.1
        1. Heading 2.1.1.1
          1. Heading 2.1.1.1.1
'}) + // Click 1.2, expands it. click: "a.header-in-summary[href='#heading-12']" assert-attribute: ("li:has(> span > a[href='#heading-12'])", {"class": "header-item expanded"})