docs(ccli): add verification evidence

This commit is contained in:
Thorsten Bus 2026-05-10 18:28:27 +02:00
parent 5c590eda9e
commit fc2060b926
3 changed files with 18 additions and 0 deletions

View file

@ -0,0 +1,7 @@
Command: ddev exec php artisan test --filter=CcliLabelsTest
Result: PASS
Assertions: 71
Tests: 55 passed
Command: ddev exec ./vendor/bin/pint --test app/Support/CcliLabels.php tests/Unit/CcliLabelsTest.php
Result: PASS

View file

@ -0,0 +1,6 @@
Command: ddev exec php artisan tinker --execute="var_export([App\\Support\\CcliLabels::normalizeLabelName('Foobar'), App\\Support\\CcliLabels::normalizeLabelName('')]);"
Result:
array (
0 => 'Foobar',
1 => '',
)

View file

@ -59,3 +59,8 @@ ### Fixture Corpus Notes
- Keep fixture titles/artists anonymized and numeric (`Test Song N`, `Test Artist N`) - Keep fixture titles/artists anonymized and numeric (`Test Song N`, `Test Artist N`)
- Include both English and German section labels in the corpus so parser regex coverage stays broad - Include both English and German section labels in the corpus so parser regex coverage stays broad
- Add edge cases for missing footer pieces, whitespace, repeat markers, and suffix labels (`2a`, `x2`, `(Repeat)`) - Add edge cases for missing footer pieces, whitespace, repeat markers, and suffix labels (`2a`, `x2`, `(Repeat)`)
### 2026-05-10 CCLI Label Utility Notes
- `CcliLabels` works best with a fixed kind list in regexes; no locale config needed for EN/DE normalization.
- `normalizeLabelName()` should map only known German kinds and preserve any numeric suffix.
- `parseLabel()` can stay lightweight by returning `null` for non-labels and a small array for matched labels.