Python copyreg.__newobj__() Examples
The following are 8
code examples of copyreg.__newobj__().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
copyreg
, or try the search function
.
Example #1
Source File: test_descr.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_issue24097(self): # Slot name is freed inside __getattr__ and is later used. class S(str): # Not interned pass class A: __slotnames__ = [S('spam')] def __getattr__(self, attr): if attr == 'spam': A.__slotnames__[:] = [S('spam')] return 42 else: raise AttributeError import copyreg expected = (copyreg.__newobj__, (A,), (None, {'spam': 42}), None, None) self.assertEqual(A().__reduce__(2), expected) # Shouldn't crash
Example #2
Source File: test_descr.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_issue24097(self): # Slot name is freed inside __getattr__ and is later used. class S(str): # Not interned pass class A: __slotnames__ = [S('spam')] def __getattr__(self, attr): if attr == 'spam': A.__slotnames__[:] = [S('spam')] return 42 else: raise AttributeError import copyreg expected = (copyreg.__newobj__, (A,), (None, {'spam': 42}), None, None) self.assertEqual(A().__reduce__(2), expected) # Shouldn't crash
Example #3
Source File: test_descr.py From android_universal with MIT License | 6 votes |
def test_issue24097(self): # Slot name is freed inside __getattr__ and is later used. class S(str): # Not interned pass class A: __slotnames__ = [S('spam')] def __getattr__(self, attr): if attr == 'spam': A.__slotnames__[:] = [S('spam')] return 42 else: raise AttributeError import copyreg expected = (copyreg.__newobj__, (A,), (None, {'spam': 42}), None, None) self.assertEqual(A().__reduce_ex__(2), expected) # Shouldn't crash
Example #4
Source File: test_descr.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def _check_reduce(self, proto, obj, args=(), kwargs={}, state=None, listitems=None, dictitems=None): if proto >= 2: reduce_value = obj.__reduce_ex__(proto) if kwargs: self.assertEqual(reduce_value[0], copyreg.__newobj_ex__) self.assertEqual(reduce_value[1], (type(obj), args, kwargs)) else: self.assertEqual(reduce_value[0], copyreg.__newobj__) self.assertEqual(reduce_value[1], (type(obj),) + args) self.assertEqual(reduce_value[2], state) if listitems is not None: self.assertListEqual(list(reduce_value[3]), listitems) else: self.assertIsNone(reduce_value[3]) if dictitems is not None: self.assertDictEqual(dict(reduce_value[4]), dictitems) else: self.assertIsNone(reduce_value[4]) else: base_type = type(obj).__base__ reduce_value = (copyreg._reconstructor, (type(obj), base_type, None if base_type is object else base_type(obj))) if state is not None: reduce_value += (state,) self.assertEqual(obj.__reduce_ex__(proto), reduce_value) self.assertEqual(obj.__reduce__(), reduce_value)
Example #5
Source File: test_descr.py From ironpython3 with Apache License 2.0 | 5 votes |
def _check_reduce(self, proto, obj, args=(), kwargs={}, state=None, listitems=None, dictitems=None): if proto >= 4: reduce_value = obj.__reduce_ex__(proto) self.assertEqual(reduce_value[:3], (copyreg.__newobj_ex__, (type(obj), args, kwargs), state)) if listitems is not None: self.assertListEqual(list(reduce_value[3]), listitems) else: self.assertIsNone(reduce_value[3]) if dictitems is not None: self.assertDictEqual(dict(reduce_value[4]), dictitems) else: self.assertIsNone(reduce_value[4]) elif proto >= 2: reduce_value = obj.__reduce_ex__(proto) self.assertEqual(reduce_value[:3], (copyreg.__newobj__, (type(obj),) + args, state)) if listitems is not None: self.assertListEqual(list(reduce_value[3]), listitems) else: self.assertIsNone(reduce_value[3]) if dictitems is not None: self.assertDictEqual(dict(reduce_value[4]), dictitems) else: self.assertIsNone(reduce_value[4]) else: base_type = type(obj).__base__ reduce_value = (copyreg._reconstructor, (type(obj), base_type, None if base_type is object else base_type(obj))) if state is not None: reduce_value += (state,) self.assertEqual(obj.__reduce_ex__(proto), reduce_value) self.assertEqual(obj.__reduce__(), reduce_value)
Example #6
Source File: test_copyreg.py From ironpython3 with Apache License 2.0 | 5 votes |
def test__newobj__(self): #the second argument is omitted result = None result = copyreg.__newobj__(object) self.assertTrue(result != None, "The method __newobj__ did not return an object") #the second argument is an int object result = None a = 1 result = copyreg.__newobj__(int,a) self.assertTrue(result != None, "The method __newobj__ did not return an object") #the method accept multiple arguments reseult = None class customtype(object): def __new__(cls,b,c,d): return object.__new__(cls) def __init__(self): pass c = True d = "argu" e = 3 result = copyreg.__newobj__(customtype,c,d,e) self.assertTrue(result != None, "The method __newobj__ did not return an object") #TODO: @skip("multiple_execute")
Example #7
Source File: test_descr.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def _check_reduce(self, proto, obj, args=(), kwargs={}, state=None, listitems=None, dictitems=None): if proto >= 2: reduce_value = obj.__reduce_ex__(proto) if kwargs: self.assertEqual(reduce_value[0], copyreg.__newobj_ex__) self.assertEqual(reduce_value[1], (type(obj), args, kwargs)) else: self.assertEqual(reduce_value[0], copyreg.__newobj__) self.assertEqual(reduce_value[1], (type(obj),) + args) self.assertEqual(reduce_value[2], state) if listitems is not None: self.assertListEqual(list(reduce_value[3]), listitems) else: self.assertIsNone(reduce_value[3]) if dictitems is not None: self.assertDictEqual(dict(reduce_value[4]), dictitems) else: self.assertIsNone(reduce_value[4]) else: base_type = type(obj).__base__ reduce_value = (copyreg._reconstructor, (type(obj), base_type, None if base_type is object else base_type(obj))) if state is not None: reduce_value += (state,) self.assertEqual(obj.__reduce_ex__(proto), reduce_value) self.assertEqual(obj.__reduce__(), reduce_value)
Example #8
Source File: test_descr.py From android_universal with MIT License | 5 votes |
def _check_reduce(self, proto, obj, args=(), kwargs={}, state=None, listitems=None, dictitems=None): if proto >= 2: reduce_value = obj.__reduce_ex__(proto) if kwargs: self.assertEqual(reduce_value[0], copyreg.__newobj_ex__) self.assertEqual(reduce_value[1], (type(obj), args, kwargs)) else: self.assertEqual(reduce_value[0], copyreg.__newobj__) self.assertEqual(reduce_value[1], (type(obj),) + args) self.assertEqual(reduce_value[2], state) if listitems is not None: self.assertListEqual(list(reduce_value[3]), listitems) else: self.assertIsNone(reduce_value[3]) if dictitems is not None: self.assertDictEqual(dict(reduce_value[4]), dictitems) else: self.assertIsNone(reduce_value[4]) else: base_type = type(obj).__base__ reduce_value = (copyreg._reconstructor, (type(obj), base_type, None if base_type is object else base_type(obj))) if state is not None: reduce_value += (state,) self.assertEqual(obj.__reduce_ex__(proto), reduce_value) self.assertEqual(obj.__reduce__(), reduce_value)