diff --git a/unittests/test_converters.py b/unittests/test_converters.py index 30c5972c4f006aaf9923dfc058c3b861d8b5123b..802483c1d1eaf7f63096591ac7df7362f25f599a 100644 --- a/unittests/test_converters.py +++ b/unittests/test_converters.py @@ -32,6 +32,7 @@ from caoscrawler.converters import (Converter, ConverterValidationError, DictConverter, DirectoryConverter, handle_value, MarkdownFileConverter, JSONFileConverter) +from caoscrawler.converters import _AbstractDictElementConverter from caoscrawler.crawl import Crawler from caoscrawler.stores import GeneralStore from caoscrawler.structure_elements import (File, DictTextElement, @@ -385,3 +386,21 @@ MyElement: list(yaml.safe_load_all(two_doc_yaml))) assert "MyElement" in two_doc_definitions assert two_doc_definitions["MyElement"]["type"] == one_doc_definitions["MyElement"]["type"] + + +def test_abstract_dict_element_converter(): + definition = yaml.safe_load(""" +match_name: text +match_value: .*begin(?P<text>.*)end + """) + converter = _AbstractDictElementConverter( + definition, "test_converter", + None # This is possible when "subtree" is not used + ) + element = DictTextElement("text", """ +begin +bla +end""") + val = converter.match(element) + assert val is not None + assert val["text"] == "\nbla\n"