Ticket #4430: slots-test.patch

File slots-test.patch, 1.1 KB (added by toidinamai, 5 years ago)

new test case

  • twisted/test/test_jelly.py

    diff -urN Twisted-10.0.0.orig/twisted/test/test_jelly.py Twisted-10.0.0/twisted/test/test_jelly.py
    old new  
    8484    Dummy new-style class. 
    8585    """ 
    8686 
     87class E(object): 
     88    """ 
     89    Dummy new-style class with slots. 
     90    """ 
     91 
     92    __slots__ = ("x", "y") 
     93 
     94    def __init__(self, x=None, y=None): 
     95        self.x = x 
     96        self.y = y 
     97 
     98    def __getstate__(self): 
     99        return {"x" : self.x, "y" : self.y} 
    87100 
     101    def __setstate__(self, state): 
     102        self.x = state["x"] 
     103        self.y = state["y"] 
    88104 
    89105class SimpleJellyTest: 
    90106    def __init__(self, x, y): 
     
    162178        self.assertIsInstance(m, D) 
    163179        self.assertIdentical(m.n2, m.n3) 
    164180 
     181    def test_newStyleWithSlots(self): 
     182        n = E() 
     183        n.x = 1 
     184        c = jelly.jelly(n) 
     185        m = jelly.unjelly(c) 
     186        self.assertIsInstance(m, E) 
     187        self.assertEquals(n.x, 1) 
    165188 
    166189    def test_typeOldStyle(self): 
    167190        """