mirror of
https://github.com/Redocly/redoc.git
synced 2024-11-22 16:46:34 +03:00
Fix tests + don't crash on non-existing menu-items
This commit is contained in:
parent
d9bec1bd6a
commit
82575d6a77
|
@ -34,7 +34,8 @@ export class RedocSearch implements OnInit {
|
|||
this.items = Object.keys(searchRes).map(id => ({
|
||||
menuItem: this.menu.getItemById(id),
|
||||
pointers: searchRes[id].map(el => el.pointer)
|
||||
}));
|
||||
})).filter(res => !!res.menuItem);
|
||||
|
||||
this.items.sort((a, b) => {
|
||||
if (a.menuItem.depth > b.menuItem.depth) return 1;
|
||||
else if (a.menuItem.depth < b.menuItem.depth) return -1;
|
||||
|
|
|
@ -4,20 +4,21 @@ import { MdRenderer } from '../../lib/utils/md-renderer';
|
|||
|
||||
describe('Utils', () => {
|
||||
describe('Markdown renderer', () => {
|
||||
let mdRender;
|
||||
let mdRender: MdRenderer;
|
||||
beforeEach(() => {
|
||||
mdRender = new MdRenderer();
|
||||
});
|
||||
it('should return a level-1 heading even though level-2 is passed', () => {
|
||||
it('should return a level-1 heading even though only level-2 is present', () => {
|
||||
mdRender.renderMd('## Sub Intro');
|
||||
expect(mdRender.firstLevelHeadings.length).toEqual(1);
|
||||
expect(mdRender.firstLevelHeadings).toEqual(['Sub Intro']);
|
||||
Object.keys(mdRender.headings).length.should.be.equal(1);
|
||||
should.exist(mdRender.headings['sub-intro']);
|
||||
});
|
||||
it('should return a level-1 heading and a level-2', () => {
|
||||
it('should return a level-2 heading as a child of level-1', () => {
|
||||
mdRender.renderMd('# Introduction \n ## Sub Intro');
|
||||
expect(mdRender.firstLevelHeadings.length).toEqual(1);
|
||||
expect(mdRender.firstLevelHeadings).toEqual(['Introduction']);
|
||||
expect(mdRender.secondLevelHeadings).toEqual(['Introduction/Sub Intro']);
|
||||
Object.keys(mdRender.headings).length.should.be.equal(1);
|
||||
should.exist(mdRender.headings['introduction']);
|
||||
should.exist(mdRender.headings['introduction'].children);
|
||||
Object.keys(mdRender.headings['introduction'].children).length.should.be.equal(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -107,10 +107,6 @@ export class MdRenderer {
|
|||
return this._origRules.open(tokens, idx);
|
||||
} else {
|
||||
let content = tokens[idx + 1].content;
|
||||
// if no h1 1st, convert h2 to h1
|
||||
if (this.firstLevelHeadings.length === 0 && tokens[idx].hLevel !== 1 ) {
|
||||
tokens[idx].hLevel = 1;
|
||||
}
|
||||
if (tokens[idx].hLevel === 1 ) {
|
||||
this.currentTopHeading = this.saveHeading(content);;
|
||||
let id = this.currentTopHeading.id;
|
||||
|
|
Loading…
Reference in New Issue
Block a user