summaryrefslogtreecommitdiff
path: root/tests/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
index 1a9af58..896a2ba 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -19,15 +19,27 @@ def aws():
return w
def elements_equal(e1, e2):
- if e1.tag != e2.tag: return False
- if e1.text != e2.text: return False
- if e1.tail.strip() != e2.tail.strip(): return False
- if e1.attrib != e2.attrib: return False
- if len(e1) != len(e2): return False
+ """Determine if two XML elements are equal."""
+ if e1.tag != e2.tag:
+ print("tag", e1.tag, e2.tag)
+ return False
+ if ("" if e1.text is None else e1.text).strip("\r\n\t ") != ("" if e2.text is None else e2.text).strip("\r\n\t "):
+ print("text", repr(e1.text), repr(e2.text))
+ return False
+ if ("" if e1.tail is None else e1.tail).strip("\r\n\t ") != ("" if e2.tail is None else e2.tail).strip("\r\n\t "):
+ print("tail", repr(e1.tail), repr(e2.tail))
+ return False
+ if e1.attrib != e2.attrib:
+ print("attrib", repr(e1.attrib), repr(e2.attrib))
+ return False
+ if len(e1) != len(e2):
+ print("len", len(e1), len(e2))
+ return False
return all(elements_equal(c1, c2) for c1, c2 in zip(e1, e2))
@pytest.fixture
def test_xml_eq():
+ """Use for testing serialization functions."""
def inner(e: et.Element, s: str):
return elements_equal(e, et.fromstring(s))
return inner