Ejemplo n.º 1
0
def test_call_kw():

    def test_kw():

        def kw(a=1,*, b=3, c=5):
            return a + b + c

        return kw()

    assert test_kw() == 9
    assert test_kw() == eval_object_es5(test_kw, 'test_kw();')

    def test_kw2(a, c):

        def kw(a=1,*, b=3, c=5):
            return a + b + c

        return kw(a, c=c)

    assert test_kw2(1, 1) == 5
    assert test_kw2(1, 1) == eval_object_es5(test_kw2, 'test_kw2(1, 1);')

    def test_kw3(foo, bar):

        def kw(foo, **kwargs):
            return foo + kwargs['bar']

        return kw(foo, bar=bar)

    assert test_kw3(5, 10) == 15
    assert test_kw3(5, 10) == eval_object_es5(test_kw3, 'test_kw3(5, 10);')
Ejemplo n.º 2
0
def test_try_except_complex():

    def test_try():
        value = 0

        class MyError(Exception):
            pass

        class MySecondError(MyError):
            """A stupid error"""

        try:
            value += 1
            raise MyError("Something bad happened")
            value += 1
        except MySecondError:
            value += 20
        except MyError:
            value += 30
        except:
            value += 40
        finally:
            value += 1
        return value

    assert test_try() == 32
    assert test_try() == eval_object_es5(test_try, 'test_try();')
Ejemplo n.º 3
0
def test_try_except_complex():

    def test_try():
        value = 0

        class MyError(Exception):
            pass

        class MySecondError(MyError):
            """A stupid error"""

        try:
            value += 1
            raise MyError("Something bad happened")
            value += 1
        except MySecondError:
            value += 20
        except MyError:
            value += 30
        except:
            value += 40
        finally:
            value += 1
        return value

    assert test_try() == 32
    assert test_try() == eval_object_es5(test_try, 'test_try();')
Ejemplo n.º 4
0
def test_class_simple():

    def test_class():
        class Foo:
            def __init__(self):
                self.msg = 'foo'
        return Foo().msg

    assert test_class() == eval_object_es5(test_class, 'test_class();')
Ejemplo n.º 5
0
def test_class_simple():

    def test_class():
        class Foo:
            def __init__(self):
                self.msg = 'foo'
        return Foo().msg

    assert test_class() == eval_object_es5(test_class, 'test_class();')
Ejemplo n.º 6
0
def test_call_kw():

    def test_kw():

        def kw(a=1,*, b=3, c=5):
            return a + b + c

        return kw()

    assert test_kw() == 9
    assert test_kw() == eval_object_es5(test_kw, 'test_kw();')

    def test_kw2(a, c):

        def kw(a=1,*, b=3, c=5):
            return a + b + c

        return kw(a, c=c)

    assert test_kw2(1, 1) == 5
    assert test_kw2(1, 1) == eval_object_es5(test_kw2, 'test_kw2(1, 1);')
Ejemplo n.º 7
0
def test_try_except_simple():

    def test_try():
        value = 0
        try:
            value += 1
            raise 'a string error'
            value += 1
        except:
            value += 1
        finally:
            value += 1
        return value

    assert test_try() == 3
    assert test_try() == eval_object_es5(test_try, 'test_try();')
Ejemplo n.º 8
0
def test_try_except_simple():

    def test_try():
        value = 0
        try:
            value += 1
            raise 'a string error'
            value += 1
        except:
            value += 1
        finally:
            value += 1
        return value

    assert test_try() == 3
    assert test_try() == eval_object_es5(test_try, 'test_try();')
Ejemplo n.º 9
0
def test_call_rest():

    def test_rest():

        a = [1, 2, 3, 4, 5]

        def rest(*values):
            res = 0
            for i in values:
                res += i

            return res

        return rest(*a)

    assert test_rest() == 15

    assert test_rest() == eval_object_es5(test_rest, 'test_rest();')
Ejemplo n.º 10
0
def test_class_inherit():

    def test_class():

        class Animal:
            def __init__(self, name):
                self.name = name

        class TalkingAnimal(Animal):
            def __init__(self, name, catchphrase):
                super().__init__(name)
                self.catchphrase = catchphrase
            def caption(self):
                return self.name + " sez '" + self.catchphrase + "'"

        return TalkingAnimal('Pac-Man', 'waka waka').caption()

    assert test_class() == eval_object_es5(test_class, 'test_class();')
Ejemplo n.º 11
0
def test_call_rest():

    def test_rest():

        a = [1, 2, 3, 4, 5]

        def rest(*values):
            res = 0
            for i in values:
                res += i

            return res

        return rest(*a)

    assert test_rest() == 15

    assert test_rest() == eval_object_es5(test_rest, 'test_rest();')
Ejemplo n.º 12
0
def test_class_inherit():

    def test_class():

        class Animal:
            def __init__(self, name):
                self.name = name

        class TalkingAnimal(Animal):
            def __init__(self, name, catchphrase):
                super().__init__(name)
                self.catchphrase = catchphrase
            def caption(self):
                return self.name + " sez '" + self.catchphrase + "'"

        return TalkingAnimal('Pac-Man', 'waka waka').caption()

    assert test_class() == eval_object_es5(test_class, 'test_class();')
Ejemplo n.º 13
0
def test_class_super():

    def test_class():

        class Animal:
            def __init__(self, name):
                self.name = name
        class TalkingAnimal(Animal):
            def __init__(self, name, catchphrase):
                super().__init__(name)
                self.catchphrase = catchphrase
            def caption(self):
                return self.name + " sez '" + self.catchphrase + "'"
        class Kitteh(TalkingAnimal):
            def __init__(self, name):
                super().__init__(name, 'OH HAI')
            def caption(self):
                return 'OMG AWESOMECUTE: ' + super().caption()

        return Kitteh('Maru-san').caption()

    assert test_class() == eval_object_es5(test_class, 'test_class();')
Ejemplo n.º 14
0
def test_class_super():

    def test_class():

        class Animal:
            def __init__(self, name):
                self.name = name
        class TalkingAnimal(Animal):
            def __init__(self, name, catchphrase):
                super().__init__(name)
                self.catchphrase = catchphrase
            def caption(self):
                return self.name + " sez '" + self.catchphrase + "'"
        class Kitteh(TalkingAnimal):
            def __init__(self, name):
                super().__init__(name, 'OH HAI')
            def caption(self):
                return 'OMG AWESOMECUTE: ' + super().caption()

        return Kitteh('Maru-san').caption()

    assert test_class() == eval_object_es5(test_class, 'test_class();')