From f10f83fe355acf0100bbbee382aec4eb84afa506 Mon Sep 17 00:00:00 2001 From: shamilbi Date: Wed, 15 Jul 2026 20:30:01 +0200 Subject: [PATCH] +test_configparser.py --- tests/test_configparser.py | 97 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 tests/test_configparser.py diff --git a/tests/test_configparser.py b/tests/test_configparser.py new file mode 100644 index 0000000..e679c45 --- /dev/null +++ b/tests/test_configparser.py @@ -0,0 +1,97 @@ +import configparser + +from morgan.utils import ListExtendingOrderedDict + + +def assert_value(ini: str, value2: str): + parser = configparser.ConfigParser(strict=False, dict_type=ListExtendingOrderedDict) + parser.read_string(ini) + value = parser.get("requirements", "key") + assert value == value2 + + +def test_req_1(): + ini = """\ +[requirements] +key = value1 +key = value2 +""" + assert_value(ini, "value1\nvalue2") + + +def test_req_2(): + ini = """\ +[requirements] +key = value1 + +key = value2 +""" + assert_value(ini, "value1\n\nvalue2") + + +def test_req_3(): + ini = """\ +[requirements] +key = value1 +key = value2 + +[requirements] +key = value3 +key = value4 +""" + assert_value(ini, "value1\nvalue2\n\nvalue3\nvalue4") + + +def test_req_4(): + ini = """\ +[requirements] +key = value1 +key = value2 +[requirements] +key = value3 +key = value4 +""" + assert_value(ini, "value1\nvalue2\nvalue3\nvalue4") + + +def test_req_5(): + ini = """\ +[requirements] +key = value1 +key = value2 + + +[requirements] +key = value3 +key = value4 +""" + assert_value(ini, "value1\nvalue2\n\n\nvalue3\nvalue4") + + +def assert_value2(ini: str, value2: str): + parser = configparser.ConfigParser( + strict=False, + dict_type=ListExtendingOrderedDict, + inline_comment_prefixes=("#",), + ) + parser.read_string(ini) + value = parser.get("requirements", "key") + assert value == value2 + + +def test_comment_1(): + ini = """\ +[requirements] +key = value1 # comment 1 +key = value2 # comment 2 +""" + assert_value2(ini, "value1\nvalue2") + + +def test_comment_2(): + ini = """\ +[requirements] +key = value1# +key = value2 # comment 2 +""" + assert_value2(ini, "value1#\nvalue2")