Commit c257adb
committed
test: 12 transclusion edge case tests (Roger-proofing)
Comprehensive transclusion test suite covering edge cases that Roger
Gregory would likely test:
1. transclusion_recursive_cycle_a_b_a: A transcludes B, B transcludes
A — cycle detection prevents infinite loop, content still resolves
2. transclusion_three_level_chain_a_b_c: A→B→C chain — 2nd level
content resolves through intermediate transclusion
3. transclusion_cached_content_survives_source_deletion: cached_content
in StructuralTransclusion makes content visible even without source
4. transclusion_migration_insert_before_range: insert text before the
transclusion range — positions migrate correctly
5. transclusion_migration_delete_inside_range: delete chars inside the
source range — positions adjust, content still resolves
6. transclusion_migration_replace_entire_range: delete+replace entire
transclusion range — content updates to new text
7. multiple_transclusions_same_source_different_ranges: two
transclusions from same source at different positions
8. transclusion_at_position_zero: transclusion as first element
9. transclusion_at_end_of_document: transclusion as last element
10. transclusion_from_empty_source: source has no content
11. transclusion_pinned_to_old_revision: source_revision set, source
changes, source_changed flag detected
12. coalesce_does_not_merge_transclusion_with_text: coalesce preserves
transclusion element boundaries
13. transclusion_source_with_unicode: Japanese + accented chars in
source content
All 3014 lib tests pass (119 transclusion-related).1 parent 9170b5f commit c257adb
1 file changed
Lines changed: 656 additions & 0 deletions
0 commit comments