Commit 7ec45f7a authored by Eli Bendersky's avatar Eli Bendersky

For Issue #16076: make sure that pickling of Element objects is tested, and do

it properly to avoid problems with test-run-order dependencies.
parent c1b59d45
......@@ -16,6 +16,7 @@
import html
import io
import pickle
import sys
import unittest
import weakref
......@@ -1768,6 +1769,20 @@ class BasicElementTest(unittest.TestCase):
self.assertEqual(flag, True)
self.assertEqual(wref(), None)
def test_pickle(self):
# For now this test only works for the Python version of ET,
# so set sys.modules accordingly because pickle uses __import__
# to load the __module__ of the class.
if pyET:
sys.modules['xml.etree.ElementTree'] = pyET
else:
raise unittest.SkipTest('only for the Python version')
e1 = ET.Element('foo', bar=42)
s = pickle.dumps(e1)
e2 = pickle.loads(s)
self.assertEqual(e2.tag, 'foo')
self.assertEqual(e2.attrib['bar'], 42)
class ElementTreeTest(unittest.TestCase):
def test_istype(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment