Skip to content

Testfehler durch pandoc Output #2

Description

@mtgitaccount

Hallo Pina,

ich habe versucht, dein Beispiel bei mir auf dem MAC zum Laufen zu bringen, leider scheitern zwei Tests.

Beispiel 1.
tests.test_helpers.TestPandocMarkdownConverter.test_single_quotes

Fehler:

E

ERROR: test_single_quotes (tests.test_helpers.TestPandocMarkdownConverter)

Traceback (most recent call last):
File "/Users/martin/Documents/Coding/Python/Markdown2AssetStorm/tests/test_helpers.py", line 311, in test_single_quotes
span_list = json_from_markdown(markdown)
File "/Users/martin/Documents/Coding/Python/Markdown2AssetStorm/helpers.py", line 154, in json_from_markdown
"spans": convert_list(block['c'],
File "/Users/martin/Documents/Coding/Python/Markdown2AssetStorm/helpers.py", line 134, in convert_list
convert_elem(converted_spans, span_element)
File "/Users/martin/Documents/Coding/Python/Markdown2AssetStorm/helpers.py", line 77, in convert_elem
spans +=convert_list([{'t': 'Str', 'c': span_elem['c'][0]}] +
File "/Users/martin/Documents/Coding/Python/Markdown2AssetStorm/helpers.py", line 135, in convert_list
merge_list(converted_spans)
File "/Users/martin/Documents/Coding/Python/Markdown2AssetStorm/helpers.py", line 128, in merge_list
long_span_list[pos][content_key] += pop_item[content_key]
TypeError: unsupported operand type(s) for +=: 'dict' and 'str'


Ran 1 test in 0.223s

Ich vermute es liegt an pandoc. Ich nutze Version.
pandoc 2.9.1.1
Compiled with pandoc-types 1.20, texmath 0.12, skylighting 0.8.3

Für den o.g. Testcase habe ich mal ein paar Prints durchgeführt:

This 'test' is a fun-test!

pandoc_tree {'blocks': [{'t': 'Para', 'c': [{'t': 'Str', 'c': 'This'}, {'t': 'Space'}, {'t': 'Quoted', 'c': [{'t': 'SingleQuote'}, [{'t': 'Str', 'c': 'test'}]]}, {'t': 'Space'}, {'t': 'Str', 'c': 'is'}, {'t': 'Space'}, {'t': 'Str', 'c': 'a'}, {'t': 'Space'}, {'t': 'Str', 'c': 'fun-test!'}]}], 'pandoc-api-version': [1, 20], 'meta': {}}


Pop_item {'type': 'span-regular', 'text': 'test'}
Pop_item content_key: test
{'t': 'SingleQuote'}


Der Fehler ist nachvollziehbar. Meine Vermutung ist, dass der erzeugte panndoc_tree syntaktisch nicht "mehr" ganz zum "Parseprozess" passt.

def convert_elem(spans: list, span_elem: dict) -> None:
if span_elem['t'] == "Quoted":
spans +=convert_list([{'t': 'Str', 'c': span_elem['c'][0]}] +
span_elem['c'][1] +
[{'t': 'Str', 'c': span_elem['c'][0]}],
block_list, span_type,
indent + " ")
return

Beim Zusammenbauen der Parameter für convert_list kracht es dann.

Der zweite Fehler betrifft test_em_strong (test_helpers.TestPandocMarkdownConverter), mit identischem Fehlerbild.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions