Skip to content

Commit

Permalink
tools,doc: fix version picker bug in html.js
Browse files Browse the repository at this point in the history
The processing of strings like `8.x` into a major version number and a
minor version number results in minor versions that are `NaN`. In that
situation, since the picker will link to the latest docs in the
major version, include the version in the version picker.

Fixes: nodejs#23979
  • Loading branch information
Trott committed Nov 25, 2018
1 parent 824f16c commit cba8b24
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
7 changes: 6 additions & 1 deletion test/doctool/test-doctool-html.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ const testData = [
html: '<ol><li>fish</li><li>fish</li></ol>' +
'<ul><li>Red fish</li><li>Blue fish</li></ul>',
},
{
file: fixtures.path('altdocs.md'),
html: '<li><ahref="https://nodejs.org/docs/latest-v8.x/api/foo.html">8.x',
},
];

const spaces = /\s/g;
Expand All @@ -117,7 +121,8 @@ testData.forEach(({ file, html }) => {
const actual = output.replace(spaces, '');
// Assert that the input stripped of all whitespace contains the
// expected markup.
assert(actual.includes(expected));
assert(actual.includes(expected),
`ACTUAL: ${actual}\nEXPECTED: ${expected}`);
})
);
}));
Expand Down
3 changes: 3 additions & 0 deletions test/fixtures/altdocs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ALTDOCS
<!--introduced_in=v8.4.0-->

1 change: 1 addition & 0 deletions tools/doc/html.js
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,7 @@ function altDocs(filename, docCreated) {
const [versionMajor, versionMinor] = version.num.split('.').map(Number);
if (docCreatedMajor > versionMajor) return false;
if (docCreatedMajor < versionMajor) return true;
if (Number.isNaN(versionMinor)) return true;
return docCreatedMinor <= versionMinor;
}

Expand Down

0 comments on commit cba8b24

Please sign in to comment.