Skip to main content
Glama
test_coverage_100.py•2.05 kB
"""Tests to reach 100% coverage for ast_utils and types.""" from quantalogic_markdown_mcp.types import ParseError, ParseResult, ErrorLevel, Renderer from quantalogic_markdown_mcp.ast_utils import walk_tokens, get_headings import pytest class DummyRenderer(Renderer): def render(self, ast, options=None): return "dummy" def get_output_format(self): return "dummy" def test_renderer_abstract_methods(): r = DummyRenderer() assert r.render([], {}) == "dummy" assert r.get_output_format() == "dummy" def test_walk_tokens_empty(): # Should not fail on empty walk_tokens([], lambda t, i: None) def test_walk_tokens_no_children(): class T: children = None walk_tokens([T()], lambda t, i: None) def test_get_headings_malformed(): # Token missing tag class T: type = 'heading_open' tag = '' map = None class T2: type = 'inline' content = 'abc' class T3: type = 'heading_close' tokens = [T(), T2(), T3()] hs = get_headings(tokens) assert isinstance(hs, list) # Token with tag not starting with 'h' T.tag = 'div' hs2 = get_headings([T(), T2(), T3()]) assert hs2[0]['level'] == 1 def test_parseerror_str_all_branches(): # No line/col e = ParseError("msg") assert str(e) # With line only e = ParseError("msg", line_number=1) assert str(e) # With line and col e = ParseError("msg", line_number=1, column_number=2) assert str(e) # With context e = ParseError("msg", line_number=1, column_number=2, context="ctx") assert str(e) def test_parseresult_add_error_all_levels(): pr = ParseResult(ast=[], errors=[], warnings=[], metadata={}, source_text="") pr.add_error("err", level=ErrorLevel.ERROR) pr.add_error("warn", level=ErrorLevel.WARNING) pr.add_error("crit", level=ErrorLevel.CRITICAL) assert any("err" in str(e) for e in pr.errors) assert any("warn" in str(w) for w in pr.warnings) assert any("crit" in str(e) for e in pr.errors)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/quantalogic/quantalogic_markdown_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server