feat: comprehensive asset management system and testing improvements
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Asset Management System (Issue #142): - Add complete asset management framework with deduplication - Implement AssetManager, AssetRegistry, and AssetDeduplicator classes - Add AssetPackager for markdown document packaging - Create comprehensive test suite for all asset management components - Add asset constants and custom exceptions for robust error handling Markdown Processing Enhancements: - Update markdown_commands.py with improved functionality - Enhanced parsing and content aggregation capabilities - Improved filename encoding/decoding for special characters Test Suite Improvements: - Add comprehensive tests for Issue #138 markdown parsing - Enhance Issue #139 content aggregation and end-to-end testing - Complete test coverage for new asset management features Examples and Documentation: - Update BildungsKanonJon.md example with enhanced content - Generate corresponding HTML output for documentation - Add asset registry configuration Development Tools: - Add install script for simplified setup This commit represents a major enhancement to MarkiTect's asset handling capabilities with full test coverage and improved markdown processing. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -50,13 +50,14 @@ Detailed content here.
|
||||
|
||||
try:
|
||||
# This should fail initially (RED phase)
|
||||
structure = parse_markdown_structure(temp_file)
|
||||
structure, front_matter = parse_markdown_structure(temp_file)
|
||||
|
||||
# Verify structure
|
||||
assert len(structure) == 1 # One part
|
||||
assert structure[0].level == 1
|
||||
assert structure[0].title == "Part 1: Introduction"
|
||||
assert len(structure[0].children) == 2 # Two chapters
|
||||
assert front_matter is None # No front matter in this test
|
||||
|
||||
# Check chapters
|
||||
assert structure[0].children[0].level == 2
|
||||
@@ -154,12 +155,14 @@ Section content.
|
||||
|
||||
try:
|
||||
# This should fail initially (RED phase)
|
||||
structure = parse_markdown_structure(temp_file)
|
||||
structure, front_matter = parse_markdown_structure(temp_file)
|
||||
|
||||
# Front matter should be handled appropriately
|
||||
# Front matter should be extracted and structure parsed
|
||||
assert len(structure) == 1
|
||||
assert structure[0].title == "Chapter 1"
|
||||
assert structure[0].level == 1
|
||||
assert front_matter is not None
|
||||
assert 'title: "My Document"' in front_matter
|
||||
|
||||
finally:
|
||||
temp_file.unlink()
|
||||
@@ -178,10 +181,11 @@ Some more content.
|
||||
|
||||
try:
|
||||
# This should fail initially (RED phase)
|
||||
structure = parse_markdown_structure(temp_file)
|
||||
structure, front_matter = parse_markdown_structure(temp_file)
|
||||
|
||||
# Should return empty structure or handle gracefully
|
||||
assert structure == [] or structure is None
|
||||
assert structure == []
|
||||
assert front_matter is None
|
||||
|
||||
finally:
|
||||
temp_file.unlink()
|
||||
@@ -204,10 +208,11 @@ Back to level 2.
|
||||
|
||||
try:
|
||||
# This should fail initially (RED phase)
|
||||
structure = parse_markdown_structure(temp_file)
|
||||
structure, front_matter = parse_markdown_structure(temp_file)
|
||||
|
||||
# Should handle inconsistent levels gracefully
|
||||
assert len(structure) == 1 # Main title
|
||||
assert front_matter is None
|
||||
assert structure[0].level == 1
|
||||
assert len(structure[0].children) >= 1 # Should have children
|
||||
|
||||
|
||||
Reference in New Issue
Block a user