diff options
| author | Stefan Behnel <stefan_ml@behnel.de> | 2014-02-17 20:58:11 +0100 |
|---|---|---|
| committer | Stefan Behnel <stefan_ml@behnel.de> | 2014-02-17 20:58:11 +0100 |
| commit | 17928f9e048c549c140ade0ebf0e4ae749054d22 (patch) | |
| tree | 56c8db3885caf2e8f26fa5bfbc06ba1335f32ba6 /src/lxml/tests | |
| parent | 1e4f850b70ce848c041f2f086661e29d2dd6b76a (diff) | |
| download | python-lxml-17928f9e048c549c140ade0ebf0e4ae749054d22.tar.gz | |
use dedicated immutable mapping type for empty immutable mappings instead of DictProxy to provide the complete MutableMapping API
Diffstat (limited to 'src/lxml/tests')
| -rw-r--r-- | src/lxml/tests/test_etree.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/lxml/tests/test_etree.py b/src/lxml/tests/test_etree.py index b8c10eb7..edb52cb4 100644 --- a/src/lxml/tests/test_etree.py +++ b/src/lxml/tests/test_etree.py @@ -1698,7 +1698,34 @@ class ETreeOnlyTestCase(HelperTestCase): self.assertRaises(TypeError, c.insert, 0, el) self.assertRaises(TypeError, c.set, "myattr", "test") - # test passing 'None' to dump + def test_comment_immutable_attrib(self): + c = self.etree.Comment() + self.assertEqual(0, len(c.attrib)) + + self.assertFalse(c.attrib.__contains__('nope')) + self.assertFalse('nope' in c.attrib) + self.assertFalse('nope' in c.attrib.keys()) + self.assertFalse('nope' in c.attrib.values()) + self.assertFalse(('nope', 'huhu') in c.attrib.items()) + + self.assertEqual([], list(c.attrib)) + self.assertEqual([], list(c.attrib.keys())) + self.assertEqual([], list(c.attrib.items())) + self.assertEqual([], list(c.attrib.values())) + self.assertEqual([], list(c.attrib.iterkeys())) + self.assertEqual([], list(c.attrib.iteritems())) + self.assertEqual([], list(c.attrib.itervalues())) + + self.assertEqual('HUHU', c.attrib.pop('nope', 'HUHU')) + self.assertRaises(KeyError, c.attrib.pop, 'nope') + + self.assertRaises(KeyError, c.attrib.__getitem__, 'only') + self.assertRaises(KeyError, c.attrib.__getitem__, 'names') + self.assertRaises(KeyError, c.attrib.__getitem__, 'nope') + self.assertRaises(KeyError, c.attrib.__setitem__, 'nope', 'yep') + self.assertRaises(KeyError, c.attrib.__delitem__, 'nope') + + # test passing 'None' to dump() def test_dump_none(self): self.assertRaises(TypeError, self.etree.dump, None) |
