diff --git a/index.js b/index.js index 76f8f12..839a505 100644 --- a/index.js +++ b/index.js @@ -45,6 +45,10 @@ class MarkdownHeaderButtonElement extends MarkdownButtonElement { super() const level = parseInt(this.getAttribute('level') || 3, 10) + if (level < 1 || level > 6) { + return + } + const prefix = `${'#'.repeat(level)} ` styles.set(this, { prefix diff --git a/test/test.js b/test/test.js index 6675d0b..25990b3 100644 --- a/test/test.js +++ b/test/test.js @@ -71,6 +71,7 @@ describe('markdown-toolbar-element', function() { bold header h1 + h1 italic quote code @@ -497,11 +498,18 @@ describe('markdown-toolbar-element', function() { clickToolbar('md-header') assert.equal('### |title|', visualValue()) }) + it('inserts header 1 syntax with cursor in description', function() { setVisualValue('|title|') clickToolbar('md-header[level="1"]') assert.equal('# |title|', visualValue()) }) + + it('does not insert header for invalid level', function() { + setVisualValue('|title|') + clickToolbar('md-header[level="10"]') + assert.equal('|title|', visualValue()) + }) }) }) })