Exemple #1
0
 def test_grouped_opcodes_insert_blank_line_at_top(self):
     """
     Regression test for #2090. Make sure that the equal block following an
     insert at the top of a file is correct.
     """
     groups = diff.get_filtered_hunks(["B", "C", "D", "E", "F", "G"], ["A", "B", "C", "D", "E", "F", "G"], context=3)
     self.assertEqual([("insert", 0, 0, 0, 1), ("equal", 0, 3, 1, 4)], groups.next())
     self.assertRaises(StopIteration, groups.next)
Exemple #2
0
 def test_grouped_opcodes_context1(self):
     groups = diff.get_filtered_hunks(
         ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
         ['A', 'B', 'C', 'd', 'e', 'f', 'G', 'H'], context=1)
     group = groups.next()
     self.assertRaises(StopIteration, groups.next)
     self.assertEqual(('equal', 2, 3, 2, 3), group[0])
     self.assertEqual(('replace', 3, 6, 3, 6), group[1])
     self.assertEqual(('equal', 6, 7, 6, 7), group[2])
Exemple #3
0
 def test_grouped_opcodes_context1_ignorecase(self):
     old = ["A", "B", "C", "D", "E", "F", "G", "H"]
     new = ["X", "B", "C", "d", "e", "f", "G", "Y"]
     groups = diff.get_filtered_hunks(old, new, context=1, ignore_case=1)
     group = groups.next()
     self.assertEqual([("replace", 0, 1, 0, 1), ("equal", 1, 2, 1, 2)], group)
     group = groups.next()
     self.assertRaises(StopIteration, groups.next)
     self.assertEqual([("equal", 6, 7, 6, 7), ("replace", 7, 8, 7, 8)], group)
Exemple #4
0
 def test_grouped_opcodes_context1(self):
     groups = diff.get_filtered_hunks(
         ["A", "B", "C", "D", "E", "F", "G", "H"], ["A", "B", "C", "d", "e", "f", "G", "H"], context=1
     )
     group = groups.next()
     self.assertRaises(StopIteration, groups.next)
     self.assertEqual(("equal", 2, 3, 2, 3), group[0])
     self.assertEqual(("replace", 3, 6, 3, 6), group[1])
     self.assertEqual(("equal", 6, 7, 6, 7), group[2])
Exemple #5
0
 def test_grouped_opcodes_context1(self):
     groups = diff.get_filtered_hunks(
         ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
         ['A', 'B', 'C', 'd', 'e', 'f', 'G', 'H'], context=1)
     group = next(groups)
     self.assertRaises(StopIteration, next, groups)
     self.assertEqual(('equal', 2, 3, 2, 3), group[0])
     self.assertEqual(('replace', 3, 6, 3, 6), group[1])
     self.assertEqual(('equal', 6, 7, 6, 7), group[2])
Exemple #6
0
 def test_grouped_opcodes_insert_blank_line_at_top(self):
     """
     Regression test for #2090. Make sure that the equal block following an
     insert at the top of a file is correct.
     """
     groups = diff.get_filtered_hunks(['B', 'C', 'D', 'E', 'F', 'G'],
                                      ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                                      context=3)
     self.assertEqual([('insert', 0, 0, 0, 1), ('equal', 0, 3, 1, 4)],
                      next(groups))
     self.assertRaises(StopIteration, next, groups)
Exemple #7
0
 def test_grouped_opcodes_context1_ignorecase(self):
     old = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
     new = ['X', 'B', 'C', 'd', 'e', 'f', 'G', 'Y']
     groups = diff.get_filtered_hunks(old, new, context=1, ignore_case=1)
     group = next(groups)
     self.assertEqual([('replace', 0, 1, 0, 1), ('equal', 1, 2, 1, 2)],
                      group)
     group = next(groups)
     self.assertRaises(StopIteration, next, groups)
     self.assertEqual([('equal', 6, 7, 6, 7), ('replace', 7, 8, 7, 8)],
                      group)
Exemple #8
0
 def test_grouped_opcodes_insert_blank_line_at_top(self):
     """
     Regression test for #2090. Make sure that the equal block following an
     insert at the top of a file is correct.
     """
     groups = diff.get_filtered_hunks(['B', 'C', 'D', 'E', 'F', 'G'],
                                      ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                                      context=3)
     self.assertEqual([('insert', 0, 0, 0, 1), ('equal', 0, 3, 1, 4)],
                      groups.next())
     self.assertRaises(StopIteration, groups.next)
Exemple #9
0
 def test_grouped_opcodes_context1_ignorecase(self):
     old = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
     new = ['X', 'B', 'C', 'd', 'e', 'f', 'G', 'Y']
     groups = diff.get_filtered_hunks(old, new, context=1, ignore_case=1)
     group = groups.next()
     self.assertEqual([('replace', 0, 1, 0, 1), ('equal', 1, 2, 1, 2)],
                      group)
     group = groups.next()
     self.assertRaises(StopIteration, groups.next)
     self.assertEqual([('equal', 6, 7, 6, 7), ('replace', 7, 8, 7, 8)],
                      group)
Exemple #10
0
    def test_grouped_opcodes_full_context(self):
        old = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
        new = ['X', 'B', 'C', 'd', 'e', 'f', 'G', 'Y']
        groups = diff.get_filtered_hunks(old, new, context=None)
        group = groups.next()
        self.assertRaises(StopIteration, groups.next)
        self.assertEqual([
            ('replace', 0, 1, 0, 1),
            ('equal', 1, 3, 1, 3),
            ('replace', 3, 6, 3, 6),
            ('equal', 6, 7, 6, 7),
            ('replace', 7, 8, 7, 8),
        ], group)

        groups = diff.get_filtered_hunks(old, new, context=None, ignore_case=1)
        group = groups.next()
        self.assertRaises(StopIteration, groups.next)
        self.assertEqual([
            ('replace', 0, 1, 0, 1),
            ('equal', 1, 7, 1, 7),
            ('replace', 7, 8, 7, 8),
        ], group)
Exemple #11
0
def get_opcodes(*args, **kwargs):
    for hunk in diff.get_filtered_hunks(*args, **kwargs):
        for opcode in hunk:
            yield opcode
Exemple #12
0
def get_opcodes(*args, **kwargs):
    for hunk in diff.get_filtered_hunks(*args, **kwargs):
        for opcode in hunk:
            yield opcode