feat: also use header hierarchy to determine shards
Signed-off-by: Konstantin Fickel <mail@konstantinfickel.de>
This commit is contained in:
parent
695a28e715
commit
6d61d67d2e
2 changed files with 148 additions and 8 deletions
|
|
@ -127,3 +127,68 @@ class TestParseProcess:
|
|||
],
|
||||
),
|
||||
)
|
||||
|
||||
def test_parse_header_without_markers(self):
|
||||
file_text = "# Heading\n\n## Subheading"
|
||||
|
||||
assert parse_markdown_file(self.file_name, file_text) == StreamFile(
|
||||
filename=self.file_name,
|
||||
shard=Shard(
|
||||
markers=[],
|
||||
tags=[],
|
||||
start_line=1,
|
||||
end_line=3,
|
||||
children=[],
|
||||
),
|
||||
)
|
||||
|
||||
def test_parse_split_at_headin_if_marker_on_subheading(self):
|
||||
file_text = "# Heading @Tag1\n\n## @Marker1 Subheading @Tag2\n\n# Heading @Tag3"
|
||||
|
||||
assert parse_markdown_file(self.file_name, file_text) == StreamFile(
|
||||
filename=self.file_name,
|
||||
shard=Shard(
|
||||
markers=[],
|
||||
tags=[],
|
||||
start_line=1,
|
||||
end_line=5,
|
||||
children=[
|
||||
Shard(
|
||||
markers=[],
|
||||
tags=["Tag1"],
|
||||
start_line=1,
|
||||
end_line=4,
|
||||
children=[
|
||||
Shard(
|
||||
markers=["Marker1"],
|
||||
tags=["Tag2"],
|
||||
start_line=3,
|
||||
end_line=4,
|
||||
children=[],
|
||||
)
|
||||
],
|
||||
),
|
||||
Shard(
|
||||
markers=[],
|
||||
tags=["Tag3"],
|
||||
start_line=5,
|
||||
end_line=5,
|
||||
children=[],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
|
||||
def test_parse_only_parse_releveant_levels(self):
|
||||
file_text = "# @Marker1 Heading @Tag1\n\n## Subheading @Tag2"
|
||||
|
||||
assert parse_markdown_file(self.file_name, file_text) == StreamFile(
|
||||
filename=self.file_name,
|
||||
shard=Shard(
|
||||
markers=["Marker1"],
|
||||
tags=["Tag1", "Tag2"],
|
||||
start_line=1,
|
||||
end_line=3,
|
||||
children=[],
|
||||
),
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue