| """Test basic plugin creation functionality: |
| that they can be added and are called correctly |
| """ |
| from markdown_it import MarkdownIt |
| |
| |
| def inline_rule(state, silent): |
| print("plugin called") |
| |
| |
| def test_inline_after(capsys): |
| def _plugin(_md): |
| _md.inline.ruler.after("text", "new_rule", inline_rule) |
| |
| MarkdownIt().use(_plugin).parse("[") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def test_inline_before(capsys): |
| def _plugin(_md): |
| _md.inline.ruler.before("text", "new_rule", inline_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def test_inline_at(capsys): |
| def _plugin(_md): |
| _md.inline.ruler.at("text", inline_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def block_rule(state, startLine, endLine, silent): |
| print("plugin called") |
| |
| |
| def test_block_after(capsys): |
| def _plugin(_md): |
| _md.block.ruler.after("hr", "new_rule", block_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def test_block_before(capsys): |
| def _plugin(_md): |
| _md.block.ruler.before("hr", "new_rule", block_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def test_block_at(capsys): |
| def _plugin(_md): |
| _md.block.ruler.at("hr", block_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def core_rule(state): |
| print("plugin called") |
| |
| |
| def test_core_after(capsys): |
| def _plugin(_md): |
| _md.core.ruler.after("normalize", "new_rule", core_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def test_core_before(capsys): |
| def _plugin(_md): |
| _md.core.ruler.before("normalize", "new_rule", core_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |
| |
| |
| def test_core_at(capsys): |
| def _plugin(_md): |
| _md.core.ruler.at("normalize", core_rule) |
| |
| MarkdownIt().use(_plugin).parse("a") |
| assert "plugin called" in capsys.readouterr().out |