Example #1
0
def break_is_not_valid_in_while_loop_else_body():
    break_node = nodes.break_()
    node = nodes.while_(nodes.bool_literal(True), [], [break_node])
    error = assert_raises(errors.TypeCheckError,
        lambda: check_loop_control(node, False))
    assert_equal(break_node, error.node)
    assert_equal("'break' outside loop", str(error))
Example #2
0
def continue_is_not_valid_in_try_finally_body():
    continue_statement = nodes.continue_()
    node = nodes.try_([], finally_body=[continue_statement])
    error = assert_raises(errors.TypeCheckError,
        lambda: check_loop_control(node, True))
    assert_equal(continue_statement, error.node)
    assert_equal("'continue' not supported inside 'finally' clause", str(error))
Example #3
0
def break_is_not_valid_in_function_in_while_loop_body():
    break_node = nodes.break_()
    func_node = nodes.func("f", nodes.args([]), [break_node], type=None)
    node = nodes.while_(nodes.bool_literal(True), [func_node], [])
    error = assert_raises(errors.TypeCheckError,
        lambda: check_loop_control(node, False))
    assert_equal(break_node, error.node)
    assert_equal("'break' outside loop", str(error))
Example #4
0
def break_is_not_valid_in_module():
    node = nodes.break_()
    error = assert_raises(errors.TypeCheckError,
        lambda: check_loop_control(node, False))
    assert_equal(node, error.node)
    assert_equal("'break' outside loop", str(error))
Example #5
0
def continue_is_valid_in_try_body():
    node = nodes.try_([nodes.continue_()])
    check_loop_control(node, True)
Example #6
0
def break_is_valid_in_try_finally_body():
    node = nodes.try_([], finally_body=[nodes.break_()])
    check_loop_control(node, True)
Example #7
0
def break_is_valid_in_while_loop_body():
    node = nodes.while_(nodes.bool_literal(True), [nodes.break_()])
    check_loop_control(node, False)
Example #8
0
def break_is_valid_in_for_loop_body():
    node = nodes.for_(nodes.ref("x"), nodes.ref("xs"), [nodes.break_()])
    check_loop_control(node, False)