• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python test_support.check_syntax_error函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中test.test_support.check_syntax_error函数的典型用法代码示例。如果您正苦于以下问题:Python check_syntax_error函数的具体用法?Python check_syntax_error怎么用?Python check_syntax_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了check_syntax_error函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test2

    def test2(self):
        prog_text_2 = """\
def wrong2():
    shout x
    global x
"""
        check_syntax_error(self, prog_text_2)
开发者ID:dr4ke616,项目名称:custom_python,代码行数:7,代码来源:test_global.py


示例2: testReturn

 def testReturn(self):
     # 'return' [testlist]
     def g1(): return
     def g2(): return 1
     g1()
     x = g2()
     check_syntax_error(self, "class foo:return 1")
开发者ID:2uller,项目名称:LotF,代码行数:7,代码来源:test_grammar.py


示例3: testGenexps

    def testGenexps(self):
        # generator expression tests
        g = ([x for x in range(10)] for x in range(1))
        self.assertEqual(g.next(), [x for x in range(10)])
        try:
            g.next()
            self.fail('should produce StopIteration exception')
        except StopIteration:
            pass

        a = 1
        try:
            g = (a for d in a)
            g.next()
            self.fail('should produce TypeError')
        except TypeError:
            pass

        self.assertEqual(list((x, y) for x in 'abcd' for y in 'abcd'), [(x, y) for x in 'abcd' for y in 'abcd'])
        self.assertEqual(list((x, y) for x in 'ab' for y in 'xy'), [(x, y) for x in 'ab' for y in 'xy'])

        a = [x for x in range(10)]
        b = (x for x in (y for y in a))
        self.assertEqual(sum(b), sum([x for x in range(10)]))

        self.assertEqual(sum(x**2 for x in range(10)), sum([x**2 for x in range(10)]))
        self.assertEqual(sum(x*x for x in range(10) if x%2), sum([x*x for x in range(10) if x%2]))
        self.assertEqual(sum(x for x in (y for y in range(10))), sum([x for x in range(10)]))
        self.assertEqual(sum(x for x in (y for y in (z for z in range(10)))), sum([x for x in range(10)]))
        self.assertEqual(sum(x for x in [y for y in (z for z in range(10))]), sum([x for x in range(10)]))
        self.assertEqual(sum(x for x in (y for y in (z for z in range(10) if True)) if True), sum([x for x in range(10)]))
        self.assertEqual(sum(x for x in (y for y in (z for z in range(10) if True) if False) if True), 0)
        check_syntax_error(self, "foo(x for x in range(10), 100)")
        check_syntax_error(self, "foo(100, x for x in range(10))")
开发者ID:2uller,项目名称:LotF,代码行数:34,代码来源:test_grammar.py


示例4: test3

    def test3(self):
        prog_text_3 = """\
def wrong3():
    shout x
    x = 2
    global x
"""
        check_syntax_error(self, prog_text_3)
开发者ID:dr4ke616,项目名称:custom_python,代码行数:8,代码来源:test_global.py


示例5: test2

    def test2(self):
        prog_text_2 = """\
def wrong2():
    print x
    global x
"""
        if not test_support.due_to_ironpython_bug("http://tkbgitvstfat01:8080/WorkItemTracking/WorkItem.aspx?artifactMoniker=317569"):
            check_syntax_error(self, prog_text_2)
开发者ID:BillyboyD,项目名称:main,代码行数:8,代码来源:test_global.py


示例6: test1

    def test1(self):
        prog_text_1 = """\
def wrong1():
    a = 1
    b = 2
    global a
    global b
"""
        check_syntax_error(self, prog_text_1)
开发者ID:dr4ke616,项目名称:custom_python,代码行数:9,代码来源:test_global.py


示例7: testExprStmt

    def testExprStmt(self):
        # (exprlist '=')* exprlist
        1
        1, 2, 3
        x = 1
        x = 1, 2, 3
        x = y = z = 1, 2, 3
        x, y, z = 1, 2, 3
        abc = a, b, c = x, y, z = xyz = 1, 2, (3, 4)

        check_syntax_error(self, "x + 1 = 1")
        check_syntax_error(self, "a + 1 = b + 2")
开发者ID:2uller,项目名称:LotF,代码行数:12,代码来源:test_grammar.py


示例8: testLambdef

 def testLambdef(self):
     ### lambdef: 'lambda' [varargslist] ':' test
     l1 = lambda : 0
     self.assertEqual(l1(), 0)
     l2 = lambda : a[d] # XXX just testing the expression
     l3 = lambda : [2 < x for x in [-1, 3, 0L]]
     self.assertEqual(l3(), [0, 1, 0])
     l4 = lambda x = lambda y = lambda z=1 : z : y() : x()
     self.assertEqual(l4(), 1)
     l5 = lambda x, y, z=2: x + y + z
     self.assertEqual(l5(1, 2), 5)
     self.assertEqual(l5(1, 2, 3), 6)
     check_syntax_error(self, "lambda x: x = 2")
     check_syntax_error(self, "lambda (None,): None")
开发者ID:2uller,项目名称:LotF,代码行数:14,代码来源:test_grammar.py


示例9: test_lambdef

    def test_lambdef(self):
        ### lambdef: 'lambda' [varargslist] ':' test
        l1 = lambda : 0
        self.assertEqual(l1(), 0)
        l2 = lambda : a[d] # XXX just testing the expression
        l3 = lambda : [2 < x for x in [-1, 3, 0L]]
        self.assertEqual(l3(), [0, 1, 0])
        l4 = lambda x = lambda y = lambda z=1 : z : y() : x()
        self.assertEqual(l4(), 1)
        l5 = lambda x, y, z=2: x + y + z
        self.assertEqual(l5(1, 2), 5)
        self.assertEqual(l5(1, 2, 3), 6)
        check_syntax_error(self, "lambda x: x = 2")
        with check_py3k_warnings(('tuple parameter unpacking has been removed',
                                  SyntaxWarning)):
            check_syntax_error(self, "lambda (None,): None")

        # check that trailing commas are permitted
        l10 = lambda a,: 0
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:19,代码来源:test_grammar.py


示例10: test_yield_in_comprehensions

    def test_yield_in_comprehensions(self):
        # Check yield in comprehensions
        def g(): [x for x in [(yield 1)]]

        def check(code, warntext):
            with check_py3k_warnings((warntext, DeprecationWarning)):
                compile(code, '<test string>', 'exec')
            if sys.py3kwarning:
                import warnings
                with warnings.catch_warnings():
                    warnings.filterwarnings('error', category=DeprecationWarning)
                    with self.assertRaises(SyntaxError) as cm:
                        compile(code, '<test string>', 'exec')
                    self.assertIn(warntext, str(cm.exception))

        check("def g(): [(yield x) for x in ()]",
              "'yield' inside list comprehension")
        check("def g(): [x for x in () if not (yield x)]",
              "'yield' inside list comprehension")
        check("def g(): [y for x in () for y in [(yield x)]]",
              "'yield' inside list comprehension")
        check("def g(): {(yield x) for x in ()}",
              "'yield' inside set comprehension")
        check("def g(): {(yield x): x for x in ()}",
              "'yield' inside dict comprehension")
        check("def g(): {x: (yield x) for x in ()}",
              "'yield' inside dict comprehension")
        check("def g(): ((yield x) for x in ())",
              "'yield' inside generator expression")
        with check_py3k_warnings(("'yield' inside list comprehension",
                                  DeprecationWarning)):
            check_syntax_error(self, "class C: [(yield x) for x in ()]")
        check("class C: ((yield x) for x in ())",
              "'yield' inside generator expression")
        with check_py3k_warnings(("'yield' inside list comprehension",
                                  DeprecationWarning)):
            check_syntax_error(self, "[(yield x) for x in ()]")
        check("((yield x) for x in ())",
              "'yield' inside generator expression")
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:39,代码来源:test_grammar.py


示例11: testListcomps

    def testListcomps(self):
        # list comprehension tests
        nums = [1, 2, 3, 4, 5]
        strs = ["Apple", "Banana", "Coconut"]
        spcs = ["  Apple", " Banana ", "Coco  nut  "]

        self.assertEqual([s.strip() for s in spcs], ['Apple', 'Banana', 'Coco  nut'])
        self.assertEqual([3 * x for x in nums], [3, 6, 9, 12, 15])
        self.assertEqual([x for x in nums if x > 2], [3, 4, 5])
        self.assertEqual([(i, s) for i in nums for s in strs],
                         [(1, 'Apple'), (1, 'Banana'), (1, 'Coconut'),
                          (2, 'Apple'), (2, 'Banana'), (2, 'Coconut'),
                          (3, 'Apple'), (3, 'Banana'), (3, 'Coconut'),
                          (4, 'Apple'), (4, 'Banana'), (4, 'Coconut'),
                          (5, 'Apple'), (5, 'Banana'), (5, 'Coconut')])
        self.assertEqual([(i, s) for i in nums for s in [f for f in strs if "n" in f]],
                         [(1, 'Banana'), (1, 'Coconut'), (2, 'Banana'), (2, 'Coconut'),
                          (3, 'Banana'), (3, 'Coconut'), (4, 'Banana'), (4, 'Coconut'),
                          (5, 'Banana'), (5, 'Coconut')])
        self.assertEqual([(lambda a:[a**i for i in range(a+1)])(j) for j in range(5)],
                         [[1], [1, 1], [1, 2, 4], [1, 3, 9, 27], [1, 4, 16, 64, 256]])

        def test_in_func(l):
            return [None < x < 3 for x in l if x > 2]

        self.assertEqual(test_in_func(nums), [False, False, False])

        def test_nested_front():
            self.assertEqual([[y for y in [x, x + 1]] for x in [1,3,5]],
                             [[1, 2], [3, 4], [5, 6]])

        test_nested_front()

        check_syntax_error(self, "[i, s for i in nums for s in strs]")
        check_syntax_error(self, "[x if y]")

        suppliers = [
          (1, "Boeing"),
          (2, "Ford"),
          (3, "Macdonalds")
        ]

        parts = [
          (10, "Airliner"),
          (20, "Engine"),
          (30, "Cheeseburger")
        ]

        suppart = [
          (1, 10), (1, 20), (2, 20), (3, 30)
        ]

        x = [
          (sname, pname)
            for (sno, sname) in suppliers
              for (pno, pname) in parts
                for (sp_sno, sp_pno) in suppart
                  if sno == sp_sno and pno == sp_pno
        ]

        self.assertEqual(x, [('Boeing', 'Airliner'), ('Boeing', 'Engine'), ('Ford', 'Engine'),
                             ('Macdonalds', 'Cheeseburger')])
开发者ID:2uller,项目名称:LotF,代码行数:62,代码来源:test_grammar.py


示例12: testYield

 def testYield(self):
     check_syntax_error(self, "class foo:yield 1")
开发者ID:2uller,项目名称:LotF,代码行数:2,代码来源:test_grammar.py


示例13: testPrintStmt

    def testPrintStmt(self):
        # 'print' (test ',')* [test]
        import StringIO

        # Can't test printing to real stdout without comparing output
        # which is not available in unittest.
        save_stdout = sys.stdout
        sys.stdout = StringIO.StringIO()

        print 1, 2, 3
        print 1, 2, 3,
        print
        print 0 or 1, 0 or 1,
        print 0 or 1

        # 'print' '>>' test ','
        print >> sys.stdout, 1, 2, 3
        print >> sys.stdout, 1, 2, 3,
        print >> sys.stdout
        print >> sys.stdout, 0 or 1, 0 or 1,
        print >> sys.stdout, 0 or 1

        # test printing to an instance
        class Gulp:
            def write(self, msg): pass

        gulp = Gulp()
        print >> gulp, 1, 2, 3
        print >> gulp, 1, 2, 3,
        print >> gulp
        print >> gulp, 0 or 1, 0 or 1,
        print >> gulp, 0 or 1

        # test print >> None
        def driver():
            oldstdout = sys.stdout
            sys.stdout = Gulp()
            try:
                tellme(Gulp())
                tellme()
            finally:
                sys.stdout = oldstdout

        # we should see this once
        def tellme(file=sys.stdout):
            print >> file, 'hello world'

        driver()

        # we should not see this at all
        def tellme(file=None):
            print >> file, 'goodbye universe'

        driver()

        self.assertEqual(sys.stdout.getvalue(), '''\
1 2 3
1 2 3
1 1 1
1 2 3
1 2 3
1 1 1
hello world
''')
        sys.stdout = save_stdout

        # syntax errors
        check_syntax_error(self, 'print ,')
        check_syntax_error(self, 'print >> x,')
开发者ID:2uller,项目名称:LotF,代码行数:69,代码来源:test_grammar.py


示例14: testFuncdef


#.........这里部分代码省略.........

        def d02(a=1, b=2):
            pass

        d02()
        d02(1)
        d02(1, 2)
        d02(*(1, 2))
        d02(1, *(2,))
        d02(1, **{"b": 2})
        d02(**{"a": 1, "b": 2})

        def d12(a, b=1, c=2):
            pass

        d12(1)
        d12(1, 2)
        d12(1, 2, 3)

        def d22(a, b, c=1, d=2):
            pass

        d22(1, 2)
        d22(1, 2, 3)
        d22(1, 2, 3, 4)

        def d01v(a=1, *rest):
            pass

        d01v()
        d01v(1)
        d01v(1, 2)
        d01v(*(1, 2, 3, 4))
        d01v(*(1,))
        d01v(**{"a": 2})

        def d11v(a, b=1, *rest):
            pass

        d11v(1)
        d11v(1, 2)
        d11v(1, 2, 3)

        def d21v(a, b, c=1, *rest):
            pass

        d21v(1, 2)
        d21v(1, 2, 3)
        d21v(1, 2, 3, 4)
        d21v(*(1, 2, 3, 4))
        d21v(1, 2, **{"c": 3})

        def d02v(a=1, b=2, *rest):
            pass

        d02v()
        d02v(1)
        d02v(1, 2)
        d02v(1, 2, 3)
        d02v(1, *(2, 3, 4))
        d02v(**{"a": 1, "b": 2})

        def d12v(a, b=1, c=2, *rest):
            pass

        d12v(1)
        d12v(1, 2)
        d12v(1, 2, 3)
        d12v(1, 2, 3, 4)
        d12v(*(1, 2, 3, 4))
        d12v(1, 2, *(3, 4, 5))
        d12v(1, *(2,), **{"c": 3})

        def d22v(a, b, c=1, d=2, *rest):
            pass

        d22v(1, 2)
        d22v(1, 2, 3)
        d22v(1, 2, 3, 4)
        d22v(1, 2, 3, 4, 5)
        d22v(*(1, 2, 3, 4))
        d22v(1, 2, *(3, 4, 5))
        d22v(1, *(2, 3), **{"d": 4})
        # NOTE
        # def d31v((x)): pass
        # d31v(1)
        # def d32v((x,)): pass
        # d32v((1,))

        # keyword arguments after *arglist
        def f(*args, **kwargs):
            return args, kwargs

        self.assertEquals(f(1, x=2, *[3, 4], y=5), ((1, 3, 4), {"x": 2, "y": 5}))
        self.assertRaises(SyntaxError, eval, "f(1, *(2,3), 4)")
        self.assertRaises(SyntaxError, eval, "f(1, x=2, *(3,4), x=5)")

        # Check ast errors in *args and *kwargs
        check_syntax_error(self, "f(*g(1=2))")
        check_syntax_error(self, "f(**g(1=2))")
开发者ID:Kushagra8888,项目名称:skulpt,代码行数:101,代码来源:test_grammar.py


示例15: test_yield

 def test_yield(self):
     # Allowed as standalone statement
     def g(): yield 1
     # Allowed as RHS of assignment
     def g(): x = yield 1
     # Ordinary yield accepts implicit tuples
     def g(): yield 1, 1
     def g(): x = yield 1, 1
     # Requires parentheses as subexpression
     def g(): 1, (yield 1)
     check_syntax_error(self, "def g(): 1, yield 1")
     # Requires parentheses as call argument
     def g(): f((yield 1))
     def g(): f((yield 1), 1)
     check_syntax_error(self, "def g(): f(yield 1)")
     check_syntax_error(self, "def g(): f(yield 1, 1)")
     # Not allowed at top level
     check_syntax_error(self, "yield")
     # Not allowed at class scope
     check_syntax_error(self, "class foo:yield 1")
     # Check annotation refleak on SyntaxError
     check_syntax_error(self, "def g(a:(yield)): pass")
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:22,代码来源:test_grammar.py


示例16: testUnoptimizedNamespaces

    def testUnoptimizedNamespaces(self):

        check_syntax_error(self, """\
def unoptimized_clash1(strip):
    def f(s):
        from string import *
        return strip(s) # ambiguity: free or local
    return f
""")

        check_syntax_error(self, """\
def unoptimized_clash2():
    from string import *
    def f(s):
        return strip(s) # ambiguity: global or local
    return f
""")

        check_syntax_error(self, """\
def unoptimized_clash2():
    from string import *
    def g():
        def f(s):
            return strip(s) # ambiguity: global or local
        return f
""")

        # XXX could allow this for exec with const argument, but what's the point
        check_syntax_error(self, """\
def error(y):
    exec "a = 1"
    def f(x):
        return x + y
    return f
""")

        check_syntax_error(self, """\
def f(x):
    def g():
        return x
    del x # can't del name
""")

        check_syntax_error(self, """\
def f():
    def g():
        from string import *
        return strip # global or local?
""")

        # and verify a few cases that should work

        exec """
开发者ID:DecipherOne,项目名称:Troglodyte,代码行数:53,代码来源:test_scope.py


示例17: testFuncdef


#.........这里部分代码省略.........
        v3(1,(2,3))
        v3(1,(2,3),4)
        v3(1,(2,3),4,5,6,7,8,9,0)

        # ceval unpacks the formal arguments into the first argcount names;
        # thus, the names nested inside tuples must appear after these names.
        if sys.platform.startswith('java'):
            self.assertEqual(v3.func_code.co_varnames, ('a', '(b, c)', 'rest', 'b', 'c'))
        else:
            self.assertEqual(v3.func_code.co_varnames, ('a', '.1', 'rest', 'b', 'c'))
        self.assertEqual(v3(1, (2, 3), 4), (1, 2, 3, (4,)))
        def d01(a=1): pass
        d01()
        d01(1)
        d01(*(1,))
        d01(**{'a':2})
        def d11(a, b=1): pass
        d11(1)
        d11(1, 2)
        d11(1, **{'b':2})
        def d21(a, b, c=1): pass
        d21(1, 2)
        d21(1, 2, 3)
        d21(*(1, 2, 3))
        d21(1, *(2, 3))
        d21(1, 2, *(3,))
        d21(1, 2, **{'c':3})
        def d02(a=1, b=2): pass
        d02()
        d02(1)
        d02(1, 2)
        d02(*(1, 2))
        d02(1, *(2,))
        d02(1, **{'b':2})
        d02(**{'a': 1, 'b': 2})
        def d12(a, b=1, c=2): pass
        d12(1)
        d12(1, 2)
        d12(1, 2, 3)
        def d22(a, b, c=1, d=2): pass
        d22(1, 2)
        d22(1, 2, 3)
        d22(1, 2, 3, 4)
        def d01v(a=1, *rest): pass
        d01v()
        d01v(1)
        d01v(1, 2)
        d01v(*(1, 2, 3, 4))
        d01v(*(1,))
        d01v(**{'a':2})
        def d11v(a, b=1, *rest): pass
        d11v(1)
        d11v(1, 2)
        d11v(1, 2, 3)
        def d21v(a, b, c=1, *rest): pass
        d21v(1, 2)
        d21v(1, 2, 3)
        d21v(1, 2, 3, 4)
        d21v(*(1, 2, 3, 4))
        d21v(1, 2, **{'c': 3})
        def d02v(a=1, b=2, *rest): pass
        d02v()
        d02v(1)
        d02v(1, 2)
        d02v(1, 2, 3)
        d02v(1, *(2, 3, 4))
        d02v(**{'a': 1, 'b': 2})
        def d12v(a, b=1, c=2, *rest): pass
        d12v(1)
        d12v(1, 2)
        d12v(1, 2, 3)
        d12v(1, 2, 3, 4)
        d12v(*(1, 2, 3, 4))
        d12v(1, 2, *(3, 4, 5))
        d12v(1, *(2,), **{'c': 3})
        def d22v(a, b, c=1, d=2, *rest): pass
        d22v(1, 2)
        d22v(1, 2, 3)
        d22v(1, 2, 3, 4)
        d22v(1, 2, 3, 4, 5)
        d22v(*(1, 2, 3, 4))
        d22v(1, 2, *(3, 4, 5))
        d22v(1, *(2, 3), **{'d': 4})
        # Silence Py3k warning
        exec('def d31v((x)): pass')
        exec('def d32v((x,)): pass')
        d31v(1)
        d32v((1,))

        # keyword arguments after *arglist
        def f(*args, **kwargs):
            return args, kwargs
        self.assertEqual(f(1, x=2, *[3, 4], y=5), ((1, 3, 4),
                                                    {'x':2, 'y':5}))
        self.assertRaises(SyntaxError, eval, "f(1, *(2,3), 4)")
        self.assertRaises(SyntaxError, eval, "f(1, x=2, *(3,4), x=5)")

        # Check ast errors in *args and *kwargs
        check_syntax_error(self, "f(*g(1=2))")
        check_syntax_error(self, "f(**g(1=2))")
开发者ID:2uller,项目名称:LotF,代码行数:101,代码来源:test_grammar.py



注:本文中的test.test_support.check_syntax_error函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python test_support.check_warnings函数代码示例发布时间:2022-05-27
下一篇:
Python test_support.check_py3k_warnings函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap