CSL-to-Citum Migration Behavior Coverage
This page is generated from reviewer-facing citum-migrate suites that exercise user-visible behavior in the migration from CSL styles to Citum styles.
Overview
- Total coverage: 15 scenarios across 4 suites.
- Status: 15 passed.
- Scenario summaries: 15 authored behavior summaries, 0 derived from test names.
- Sections
Date Inference
4 scenarios.
- A CSL long month form migrates to the long month format option.
- A CSL numeric month form migrates to the numeric month format option.
- A CSL short month form migrates to the short month format option.
- A missing month form falls back to the long month format option during migration.
Substitute Extraction
1 scenario.
- Type-conditional substitute branches keep the shared fallback template while preserving the type-specific override.
Term Mapping
6 scenarios.
- A CSL label keeps strip-periods metadata when migration lifts it into Citum variable label settings.
- A CSL term with strip-periods keeps that formatting flag when migrated into a Citum term node.
- A CSL text term migrates to a Citum term node with the matching normalized term and default long form.
- An unknown CSL term value stays literal during migration instead of being coerced into an unsupported Citum term.
- Migration preserves both omitted and explicit false strip-periods settings instead of normalizing them away.
- Strip-periods formatting survives the full CSL-to-Citum migration pipeline through template compilation for terms, labels, and contributors.
Variable Once
4 scenarios.
- Nested migrated lists track variable-once suppression per branch so inner duplicates are handled without leaking outer-list state.
- When a migrated top-level variable and sibling list both render publisher, the later list rendering is suppressed to avoid duplicate output.
- When two migrated sibling lists both render author, the later author branch is suppressed so CSL variable-once behavior is preserved.
- When two migrated sibling lists both render issued dates, the later date branch is suppressed to preserve CSL variable-once behavior.