Files
herolib/lib/data/markdown/tools/min_header_test.v
2025-07-21 06:51:13 +02:00

87 lines
1.3 KiB
V

module tools
import os
import freeflowuniverse.herolib.ui.console
fn test_markdown_min_header_basic() {
txt := '
# Header 1
## Header 2
### Header 3
'
expected := '
## Header 1
### Header 2
#### Header 3
'
result := min_header(txt, 2)
assert result == expected
}
fn test_markdown_min_header_no_change() {
txt := '
## Header 2
### Header 3
'
expected := '
## Header 2
### Header 3
'
result := min_header(txt, 2)
assert result == expected
}
fn test_markdown_min_header_multiple_levels() {
txt := '
# Title
Some txt here.
## Subtitle
More txt.
### Sub-subtitle
'
expected := '
### Title
Some txt here.
#### Subtitle
More txt.
##### Sub-subtitle
'
result := min_header(txt, 3)
assert result == expected
}
fn test_markdown_min_header_no_headers() {
txt := '
This is some plain txt.
No headers here.
'
expected := '
This is some plain txt.
No headers here.
'
result := min_header(txt, 1)
assert result == expected
}
fn test_markdown_min_header_empty_input() {
txt := ''
expected := ''
result := min_header(txt, 1)
assert result == expected
}
fn test_markdown_min_header_with_txt_before_header() {
txt := '
Some intro txt
# Header 1
## Header 2
'
expected := '
Some intro txt
## Header 1
### Header 2
'
result := min_header(txt, 2)
assert result == expected
}