[Python-checkins] cpython (3.3): For Issue #16076: make sure that pickling of Element objects is tested, and do
eli.bendersky
python-checkins at python.org
Sun Dec 30 15:18:33 CET 2012
http://hg.python.org/cpython/rev/71508fc738bb
changeset: 81151:71508fc738bb
branch: 3.3
parent: 81149:44a4f9289faa
user: Eli Bendersky <eliben at gmail.com>
date: Sun Dec 30 06:17:49 2012 -0800
summary:
For Issue #16076: make sure that pickling of Element objects is tested, and do
it properly to avoid problems with test-run-order dependencies.
files:
Lib/test/test_xml_etree.py | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -16,6 +16,7 @@
import html
import io
+import pickle
import sys
import unittest
import weakref
@@ -1768,6 +1769,20 @@
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):
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list