Ejemplo n.º 1
0
    def test_change_hierarchy_old_style(self):

        class F:

            def m1(self):
                return 1


        class B:
            def super_call(self):
                return 2

        class G(B):

            def m1(self):
                return self.super_call()


        self.assertEqual(F().m1(), 1)
        old = pydevd_reload.notify_error
        self._called = False
        def on_error(*args):
            self._called = True
        try:
            pydevd_reload.notify_error = on_error
            pydevd_reload.Reload(None)._update(None, None, F, G)
            self.assertTrue(self._called)
        finally:
            pydevd_reload.notify_error = old
Ejemplo n.º 2
0
    def test_pydevd_reload3(self):
        class F:
            def m1(self):
                return 1
        class G:
            def m1(self):
                return 2

        self.assertEqual(F().m1(), 1)
        pydevd_reload.Reload(None)._update(None, None, F, G)
        self.assertEqual(F().m1(), 2)
Ejemplo n.º 3
0
    def test_pydevd_reload4(self):
        class F:
            pass
        F.m1 = lambda a:None
        class G:
            pass
        G.m1 = lambda a:10

        self.assertEqual(F().m1(), None)
        pydevd_reload.Reload(None)._update(None, None, F, G)
        self.assertEqual(F().m1(), 10)
Ejemplo n.º 4
0
    def test_metaclass(self):
        class Meta(type):
            def __init__(cls, name, bases, attrs):
                super(Meta, cls).__init__(name, bases, attrs)

        class F(metaclass=Meta):
            def m1(self):
                return 1

        class G(metaclass=Meta):
            def m1(self):
                return 2

        self.assertEqual(F().m1(), 1)
        pydevd_reload.Reload(None)._update(None, None, F, G)
        self.assertEqual(F().m1(), 2)