예제 #1
0
 def test_getstatementrange_within_constructs(self) -> None:
     source = Source("""\
         try:
             try:
                 raise ValueError
             except SomeThing:
                 pass
         finally:
             42
     """)
     assert len(source) == 7
     # check all lineno's that could occur in a traceback
     # assert source.getstatementrange(0) == (0, 7)
     # assert source.getstatementrange(1) == (1, 5)
     assert source.getstatementrange(2) == (2, 3)
     assert source.getstatementrange(3) == (3, 4)
     assert source.getstatementrange(4) == (4, 5)
     # assert source.getstatementrange(5) == (0, 7)
     assert source.getstatementrange(6) == (6, 7)
예제 #2
0
 def test_getstatementrange_within_constructs(self):
     source = Source("""\
         try:
             try:
                 raise ValueError
             except SomeThing:
                 pass
         finally:
             42
     """)
     assert len(source) == 7
     # check all lineno's that could occur in a traceback
     # assert source.getstatementrange(0) == (0, 7)
     # assert source.getstatementrange(1) == (1, 5)
     assert source.getstatementrange(2) == (2, 3)
     assert source.getstatementrange(3) == (3, 4)
     assert source.getstatementrange(4) == (4, 5)
     # assert source.getstatementrange(5) == (0, 7)
     assert source.getstatementrange(6) == (6, 7)
예제 #3
0
 def test_getstatementrange_bug(self) -> None:
     source = Source("""\
         try:
             x = (
                y +
                z)
         except:
             pass
     """)
     assert len(source) == 6
     assert source.getstatementrange(2) == (1, 4)
예제 #4
0
 def test_getstatementrange_bug(self):
     source = Source("""\
         try:
             x = (
                y +
                z)
         except:
             pass
     """)
     assert len(source) == 6
     assert source.getstatementrange(2) == (1, 4)
예제 #5
0
 def test_getstatementrange_bug2(self) -> None:
     source = Source("""\
         assert (
             33
             ==
             [
               X(3,
                   b=1, c=2
                ),
             ]
           )
     """)
     assert len(source) == 9
     assert source.getstatementrange(5) == (0, 9)
예제 #6
0
 def test_getstatementrange_bug2(self):
     source = Source("""\
         assert (
             33
             ==
             [
               X(3,
                   b=1, c=2
                ),
             ]
           )
     """)
     assert len(source) == 9
     assert source.getstatementrange(5) == (0, 9)
예제 #7
0
 def test_getstatementrange_with_syntaxerror_issue7(self):
     source = Source(":")
     pytest.raises(SyntaxError, lambda: source.getstatementrange(0))
예제 #8
0
 def test_getstatementrange_out_of_bounds_py3(self):
     source = Source("if xxx:\n   from .collections import something")
     r = source.getstatementrange(1)
     assert r == (1, 2)
예제 #9
0
 def test_getstatementrange_with_syntaxerror_issue7(self):
     source = Source(":")
     pytest.raises(SyntaxError, lambda: source.getstatementrange(0))
예제 #10
0
 def test_getstatementrange_out_of_bounds_py3(self):
     source = Source("if xxx:\n   from .collections import something")
     r = source.getstatementrange(1)
     assert r == (1, 2)