For issue #16076: merge 3.3
This commit is contained in:
commit
2c53a78a99
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
import html
|
import html
|
||||||
import io
|
import io
|
||||||
|
import pickle
|
||||||
import sys
|
import sys
|
||||||
import unittest
|
import unittest
|
||||||
import weakref
|
import weakref
|
||||||
|
@ -1768,6 +1769,20 @@ class BasicElementTest(unittest.TestCase):
|
||||||
self.assertEqual(flag, True)
|
self.assertEqual(flag, True)
|
||||||
self.assertEqual(wref(), None)
|
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):
|
class ElementTreeTest(unittest.TestCase):
|
||||||
def test_istype(self):
|
def test_istype(self):
|
||||||
|
|
Loading…
Reference in New Issue