def test_has_line_changed__blocks_offset(self): res = Resource.loads(self.block_offset) diff = Diff(res[0]) self.assertTrue(diff.has_line_changed(32)) eq_(26, diff.line_position(23)) eq_(40, diff.line_position(32))
def test_limit_to_changes__remove_problems(self): res = Resource.loads(self.two_files_json) changes = DiffCollection(res) # Setup some fake problems. filename_1 = 'Console/Command/Task/AssetBuildTask.php' errors = ( (filename_1, 117, 'Something bad'), (filename_1, 119, 'Something else bad'), (filename_1, 130, 'Filtered out, as line is not changed'), ) self.problems.add_many(errors) filename_2 = 'Test/test_files/View/Parse/single.ctp' errors = ( (filename_2, 2, 'Filtered out'), (filename_2, 3, 'Something bad'), (filename_2, 7, 'Filtered out'), ) self.problems.add_many(errors) self.problems.set_changes(changes) self.problems.limit_to_changes() result = self.problems.all(filename_1) eq_(2, len(result)) expected = [ (filename_1, 117, 'Something bad'), (filename_1, 119, 'Something else bad')] eq_(result.sort(), expected.sort()) result = self.problems.all(filename_2) eq_(1, len(result)) expected = [Comment(filename_2, 3, 3, 'Something bad')] eq_(result, expected)
def test_limit_to_changes__remove_problems(self): res = Resource.loads(self.two_files_json) changes = DiffCollection(res) # Setup some fake problems. filename_1 = 'Console/Command/Task/AssetBuildTask.php' errors = ( (None, None, 'This is a general comment'), (filename_1, 117, 'Something bad'), (filename_1, 119, 'Something else bad'), (filename_1, 130, 'Filtered out, as line is not changed'), ) self.problems.add_many(errors) filename_2 = 'Test/test_files/View/Parse/single.ctp' errors = ( (filename_2, 2, 'Filtered out'), (filename_2, 3, 'Something bad'), (filename_2, 7, 'Filtered out'), ) self.problems.add_many(errors) self.problems.set_changes(changes) self.problems.limit_to_changes() result = self.problems.all(filename_1) eq_(2, len(result)) expected = [(None, None, 'This is a general comment'), (filename_1, 117, 'Something bad'), (filename_1, 119, 'Something else bad')] eq_(result.sort(), expected.sort()) result = self.problems.all(filename_2) eq_(1, len(result)) expected = [Comment(filename_2, 3, 3, 'Something bad')] eq_(result, expected)
def test_has_line_changed__not_find_deletes(self): res = Resource.loads(self.two_files_json) diff = Diff(res[0]) self.assertTrue(diff.has_line_changed(117)) # No unchanged lines. self.assertFalse(diff.has_line_changed(118)) self.assertTrue(diff.has_line_changed(119)) # No deleted lines. self.assertFalse(diff.has_line_changed(148))
def test_add__with_diff_containing_block_offset(self): res = Resource.loads(self.block_offset) changes = DiffCollection(res) problems = Problems(changes=changes) line_num = 32 problems.add('somefile.py', line_num, 'Not good') eq_(1, len(problems)) result = problems.all('somefile.py') eq_(changes.line_position('somefile.py', line_num), result[0].position, 'Offset should be transformed to match value in changes')
def setUp(self): self.fixture_data = Resource.loads(self.fixture) self.problems = Problems() self.tool = Commitcheck(self.problems)
def setUp(self): self.one_file = Resource.loads(self.one_file_json) self.two_files = Resource.loads(self.two_files_json)
def setUp(self): res = Resource.loads(self.fixture_json) self.diff = Diff(res[0])