Ejemplo n.º 1
0
def test_delitem_len_bug():
    eq_(list(LineNumbers(Text("\n")).iter_from(0)), [(1, 0)]) # sanity check

    text = Text("\nx")
    lines = LineNumbers(text)
    # sanity check
    eq_(list(lines.iter_from(0)), [(1, 0), (2, 1)])
    eq_(len(lines), 2, repr(text))

    text[1:] = ""
    eq_(list(lines.iter_from(0)), [(1, 0)])
    assert lines.newline_at_end, 'no newline at end: ' + repr(text)
    eq_(len(lines), 2, repr(text))
Ejemplo n.º 2
0
 def test(num, expect, text, iter_to_line=None):
     text = Text(text)
     lines = LineNumbers(text)
     if iter_to_line is END:
         list(lines.iter_from(0))
         assert lines.end is not None
     elif iter_to_line is not None:
         if iter_to_line is LINE:
             iter_to_line = num
         for line, index in lines.iter_from(0):
             if line >= iter_to_line:
                 break
     if isinstance(expect, int):
         eq_(lines.index_of(num), expect)
     else:
         with assert_raises(expect):
             lines.index_of(num)
Ejemplo n.º 3
0
 def test(expect, text, iter_to_line=None):
     text = Text(text)
     lines = LineNumbers(text)
     if iter_to_line is not None:
         for line, index in lines.iter_from(0):
             if line >= iter_to_line:
                 break
     eq_(lines.newline_at_end, expect)
Ejemplo n.º 4
0
 def test(i, output, text, preset=None, start=1):
     text = Text(text)
     lines = LineNumbers(text)
     if preset is END:
         lines[len(text) - 1]
     elif preset is not None:
         lines[preset]
     eq_(list(lines.iter_from(i)), list(enumerate(output, start=start)))
Ejemplo n.º 5
0
 def test(i, output, text, preset=END, start=1):
     text = Text(text)
     lines = LineNumbers(text)
     if preset is END:
         list(lines.iter_from(0))
         assert lines.end is not None
     elif preset is not None:
         lines[preset]
     del lines[i]
     eq_(lines.end, None)
     eq_(lines.newline_at_end, None)
     len_text = len(text)
     text[len_text:] = "\nend"
     if not output:
         output.append(0)
     output.append(len_text + 1)
     print(repr(text))
     eq_(list(lines.iter_from(i)), list(enumerate(output, start=start)))