def test_multi_block_single_file(): dcp = DiffContextParser(two_block) results = dcp.parse() entry = results[0] assert len(entry.added_lines) == 5 assert len(entry.removed_lines) == 1
def test_position_counting(): dcp = DiffContextParser(two_block) results = dcp.parse() entry = results[0] # First @@ is 0 and we count from there. valid_positions = set([3, 9, 10, 11, 12]) assert set([x.position for x in entry.added_lines]) == valid_positions
def test_two_file(): dcp = DiffContextParser(two_file) results = dcp.parse() entry1, entry2 = results assert entry1.origin_filename == '.travis.yml' assert entry1.result_filename == '.travis.yml' assert entry2.origin_filename == 'requirements.txt' assert entry2.result_filename == 'requirements.txt'
def test_file_adds_arent_off(): parser = DiffContextParser(diff) results = parser.parse() assert 'class Foo' in results[0].added_lines[0].contents
def test_skip_line__plus(): dcp = DiffContextParser("") assert dcp.should_skip_line("+++ b/.gitignore")
def test_linum_counting(): dcp = DiffContextParser(two_block) results = dcp.parse() entry = results[0] assert entry.removed_lines[0].number == 2
def test_skip_line__minus(): dcp = DiffContextParser("") assert dcp.should_skip_line("--- a/.gitignore")
def test_skip_line__noskip(): dcp = DiffContextParser("") assert not dcp.should_skip_line("+ this is a legit line")
def test_skip_line__index_no_permissions(): dcp = DiffContextParser("") assert dcp.should_skip_line("index 0000000..78ce7f6")
def test_skip_line__index(): dcp = DiffContextParser("") assert dcp.should_skip_line("index 3929bb3..633facf 100644")
def test_skip_line__new_file(): dcp = DiffContextParser("") assert dcp.should_skip_line("new file mode 100644")
def test_skip_line__null(): dcp = DiffContextParser("") assert dcp.should_skip_line("--- /dev/null")