diff options
author | pommicket <pommicket@gmail.com> | 2025-09-23 11:16:21 -0400 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2025-09-23 11:16:21 -0400 |
commit | ec02e362365ee199f734cb9e76fc812dd92d3113 (patch) | |
tree | a7ee4712ad35b7d2e5b0491b630b55d8b6b67e22 /tests | |
parent | 216909c9e45316d7714d12296a83dbcb1589756c (diff) |
Add location tests, fix locations for multi-line items
Diffstat (limited to 'tests')
-rw-r--r-- | tests/__init__.py | 10 | ||||
-rw-r--r-- | tests/location.py | 11 |
2 files changed, 20 insertions, 1 deletions
diff --git a/tests/__init__.py b/tests/__init__.py index aed3dc6..5616c23 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,6 +1,6 @@ import unittest import os -from tests import parsing, errors +from tests import parsing, errors, location class TestParsing(unittest.TestCase): def test_all(self) -> None: @@ -18,6 +18,14 @@ class TestErrors(unittest.TestCase): with self.subTest(file): errors.test_path(self, f'{test_dir}/{file}') +class TestLocation(unittest.TestCase): + def test_all(self) -> None: + test_dir = '../tests/location' + for file in os.listdir(test_dir): + if not file.endswith('.locations.pom'): continue + with self.subTest(file): + location.test_path(self, f'{test_dir}/{file}') + if __name__ == '__main__': unittest.main() diff --git a/tests/location.py b/tests/location.py new file mode 100644 index 0000000..cdac8e7 --- /dev/null +++ b/tests/location.py @@ -0,0 +1,11 @@ +import pom_parser +import unittest + +def test_path(tester: unittest.TestCase, loc_path: str) -> None: + conf_path = loc_path.replace('.locations.pom', '.pom') + locs = pom_parser.load_path(loc_path) + conf = pom_parser.load_path(conf_path) + for item in conf.items(): + expected = locs.get_uint(item.key) + tester.assertTrue(expected is not None) + tester.assertEqual(expected, item.line, f'Incorrect line number for {item.key}') |