def testDocumentAsyncAttr(self):
doc = Document()
self.assertFalse(doc.async_)
- with self.assertWarns(DeprecationWarning):
- self.assertFalse(getattr(doc, 'async', True))
- with self.assertWarns(DeprecationWarning):
- setattr(doc, 'async', True)
- with self.assertWarns(DeprecationWarning):
- self.assertTrue(getattr(doc, 'async', False))
- self.assertTrue(doc.async_)
-
self.assertFalse(Document.async_)
- with self.assertWarns(DeprecationWarning):
- self.assertFalse(getattr(Document, 'async', True))
def testParseFromBinaryFile(self):
with open(tstfile, 'rb') as file:
del NodeFilter
-class _AsyncDeprecatedProperty:
- def warn(self, cls):
- clsname = cls.__name__
- warnings.warn(
- "{cls}.async is deprecated; use {cls}.async_".format(cls=clsname),
- DeprecationWarning)
-
- def __get__(self, instance, cls):
- self.warn(cls)
- if instance is not None:
- return instance.async_
- return False
-
- def __set__(self, instance, value):
- self.warn(type(instance))
- setattr(instance, 'async_', value)
-
-
class DocumentLS:
"""Mixin to create documents that conform to the load/save spec."""
async_ = False
- locals()['async'] = _AsyncDeprecatedProperty() # Avoid DeprecationWarning
def _get_async(self):
return False
return snode.toxml()
-del _AsyncDeprecatedProperty
-
-
class DOMImplementationLS:
MODE_SYNCHRONOUS = 1
MODE_ASYNCHRONOUS = 2