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))
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))
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))
def break_is_valid_in_try_finally_body(): node = nodes.try_([], finally_body=[nodes.break_()]) check_loop_control(node, True)
def break_is_valid_in_while_loop_body(): node = nodes.while_(nodes.bool_literal(True), [nodes.break_()]) check_loop_control(node, False)
def break_is_valid_in_for_loop_body(): node = nodes.for_(nodes.ref("x"), nodes.ref("xs"), [nodes.break_()]) check_loop_control(node, False)
def break_has_no_references(): _assert_no_references(nodes.break_())
def test_parse_break(): _assert_statement_parse(nodes.break_(), "break")
def test_break(self): _assert_transform( nodes.break_(), cc.break_ )