from sourcing import text

def test_find_newlines():
    sample = ''
    assert list(text.find_newlines(sample)) == []

    sample = 'aaa\nbbb\nccc\n'
    assert list(text.find_newlines(sample)) == [4, 8, 12]

def test_iter_lines():
    sample = ''
    result = list(text.iter_lines(sample))
    assert result == []

    sample = 'aaa\nbbb\nccc\n'
    result = list(text.iter_lines(sample))
    assert result == [(0, 'aaa\n'), (4, 'bbb\n'), (8, 'ccc\n')]

def test_first_non_empty_line():
    assert text.first_non_empty_line('') is None
    assert text.first_non_empty_line('  \n  \n') is None