@@ -872,6 +872,23 @@ def test_for_break_inside_finally_block(self):
872
872
"""
873
873
self .check_stack_size (snippet )
874
874
875
+ def test_for_break_continue_inside_except_block (self ):
876
+ snippet = """
877
+ for x in y:
878
+ try:
879
+ t
880
+ except:
881
+ if z:
882
+ break
883
+ elif u:
884
+ continue
885
+ else:
886
+ a
887
+ else:
888
+ b
889
+ """
890
+ self .check_stack_size (snippet )
891
+
875
892
def test_for_break_continue_inside_with_block (self ):
876
893
snippet = """
877
894
for x in y:
@@ -887,6 +904,52 @@ def test_for_break_continue_inside_with_block(self):
887
904
"""
888
905
self .check_stack_size (snippet )
889
906
907
+ def test_return_inside_try_finally_block (self ):
908
+ snippet = """
909
+ try:
910
+ if z:
911
+ return
912
+ else:
913
+ a
914
+ finally:
915
+ f
916
+ """
917
+ self .check_stack_size (snippet )
918
+
919
+ def test_return_inside_finally_block (self ):
920
+ snippet = """
921
+ try:
922
+ t
923
+ finally:
924
+ if z:
925
+ return
926
+ else:
927
+ a
928
+ """
929
+ self .check_stack_size (snippet )
930
+
931
+ def test_return_inside_except_block (self ):
932
+ snippet = """
933
+ try:
934
+ t
935
+ except:
936
+ if z:
937
+ return
938
+ else:
939
+ a
940
+ """
941
+ self .check_stack_size (snippet )
942
+
943
+ def test_return_inside_with_block (self ):
944
+ snippet = """
945
+ with c:
946
+ if z:
947
+ return
948
+ else:
949
+ a
950
+ """
951
+ self .check_stack_size (snippet )
952
+
890
953
def test_async_with (self ):
891
954
snippet = """
892
955
async with x as y:
@@ -910,6 +973,31 @@ def test_async_for_else(self):
910
973
"""
911
974
self .check_stack_size (snippet , async_ = True )
912
975
976
+ def test_for_break_continue_inside_async_with_block (self ):
977
+ snippet = """
978
+ for x in y:
979
+ async with c:
980
+ if z:
981
+ break
982
+ elif u:
983
+ continue
984
+ else:
985
+ a
986
+ else:
987
+ b
988
+ """
989
+ self .check_stack_size (snippet , async_ = True )
990
+
991
+ def test_return_inside_async_with_block (self ):
992
+ snippet = """
993
+ async with c:
994
+ if z:
995
+ return
996
+ else:
997
+ a
998
+ """
999
+ self .check_stack_size (snippet , async_ = True )
1000
+
913
1001
914
1002
if __name__ == "__main__" :
915
1003
unittest .main ()
0 commit comments